3、ROIs的一些事情:
A、有很多selection/ROI类型:Roi(矩形之一,也是所有其它类型的父类),Line, OvalRoi, PolygonRoi, PointRoi, FreehandRoi, ShapeRoi, TextRoi。另外有一些子类型,如PolygonRoi里的POLYGON、POLYLINE 类型。
B、大部分的ROI是用于编辑图像非常有用; 一些用于图像分析(Line,PointRoi,TextRoi)。
C、最强大的ROI是ShapeRoi:java.awt.geom.GeneralPath支持它,它能够存储任意数量的任何形状的不连续区域的。
D、ip.fill(ip.getMask())方法是最安全的,可在各种场合使用,只需要检查ImageProcessor的mask通过getMask()返回的不为null。
旋转,翻转和缩放图像(或者ROI)
ImagePlus imp=...
ImageProcessor ip=imp.getProcessor();
ip.flipHorizontal();
ip.flipVertical();
ip.rotateLeft();
ip.rotateRight();
// rotate WITHOUT enlarging the canvas to fit
doubleangle=45;
ip.setInterpolate(true);// bilinear
ip.rotate(45);
// rotate ENLARGING the canvas and filling the new areas with background color
doubleangle=45;
IJ.run(imp,);
// scale WITHOUT modifying the canvas dimensions
ip.setInterpolate(true);// bilinear
ip.scale(2.0,2.0);// in X and Y
.75;
intnew_width=(int)(ip.getWidth()*sx);
intnew_height=(int)(ip.getHeight()*sy);
ip.setInterpolate(true);// bilinear
ImageProcesor ip2=ip.resize(new_width, new_height);// of the same type as the original
imp.setProcessor(imp.getTitle(), ip2);// UPDATE the original ImagePlus
// update screen view of the image
imp.updateAndDraw();