/** * Returns true iff the specified Roi contains the desired x and y positions, * and is located at the given position (C, Z, T). */ private boolean containsPoint(Roi r, int[] position, double x, double y) { return r.getCPosition() == position[0] && r.getZPosition() == position[1] && r.getTPosition() == position[2] && r.contains((int) Math.floor(x), (int) Math.floor(y)); }
void putHeader2(Roi roi, int hdr2Offset) { //ij.IJ.log("putHeader2: "+hdr2Offset+" "+roiNameSize+" "+roiName); putInt(RoiDecoder.HEADER2_OFFSET, hdr2Offset); putInt(hdr2Offset+RoiDecoder.C_POSITION, roi.getCPosition()); putInt(hdr2Offset+RoiDecoder.Z_POSITION, roi.hasHyperStackPosition()?roi.getZPosition():0); putInt(hdr2Offset+RoiDecoder.T_POSITION, roi.getTPosition()); Overlay proto = roi.getPrototypeOverlay(); Color overlayLabelColor = proto.getLabelColor(); if (overlayLabelColor!=null) putInt(hdr2Offset+RoiDecoder.OVERLAY_LABEL_COLOR, overlayLabelColor.getRGB()); Font font = proto.getLabelFont(); if (font!=null) putShort(hdr2Offset+RoiDecoder.OVERLAY_FONT_SIZE, font.getSize()); if (roiNameSize>0) putName(roi, hdr2Offset); double strokeWidth = roi.getStrokeWidth(); if (roi.getStroke()==null) strokeWidth = 0.0; putFloat(hdr2Offset+RoiDecoder.FLOAT_STROKE_WIDTH, (float)strokeWidth); if (roiPropsSize>0) putProps(roi, hdr2Offset); if (countersSize>0) putPointCounters(roi, hdr2Offset); }
private Overlay projectRGBHyperStackRois(Overlay overlay) { if (overlay==null) return null; int frames = projImage.getNFrames(); int t1 = imp.getFrame(); Overlay overlay2 = overlay.create(); Roi roi; int c, z, t; for (Roi r : overlay.toArray()) { c = r.getCPosition(); z = r.hasHyperStackPosition()?r.getZPosition():0; t = r.getTPosition(); roi = (Roi)r.clone(); if (z>=startSlice && z<=stopSlice || z==0 || c==0 || t==0) { if (frames==1 && t!=t1 && t!=0)//current time frame continue; roi.setPosition(t); overlay2.add(roi); } } return overlay2; }
private Overlay projectRGBHyperStackRois(Overlay overlay) { if (overlay==null) return null; int frames = projImage.getNFrames(); int t1 = imp.getFrame(); Overlay overlay2 = overlay.create(); Roi roi; int c, z, t; for (Roi r : overlay.toArray()) { c = r.getCPosition(); z = r.hasHyperStackPosition()?r.getZPosition():0; t = r.getTPosition(); roi = (Roi)r.clone(); if (z>=startSlice && z<=stopSlice || z==0 || c==0 || t==0) { if (frames==1 && t!=t1 && t!=0)//current time frame continue; roi.setPosition(t); overlay2.add(roi); } } return overlay2; }
roi = get(i); c = roi.getCPosition(); z = roi.getZPosition(); t = roi.getTPosition(); c2 = c-firstC+1;
void putHeader2(Roi roi, int hdr2Offset) { //ij.IJ.log("putHeader2: "+hdr2Offset+" "+roiNameSize+" "+roiName); putInt(RoiDecoder.HEADER2_OFFSET, hdr2Offset); putInt(hdr2Offset+RoiDecoder.C_POSITION, roi.getCPosition()); putInt(hdr2Offset+RoiDecoder.Z_POSITION, roi.hasHyperStackPosition()?roi.getZPosition():0); putInt(hdr2Offset+RoiDecoder.T_POSITION, roi.getTPosition()); Overlay proto = roi.getPrototypeOverlay(); Color overlayLabelColor = proto.getLabelColor(); if (overlayLabelColor!=null) putInt(hdr2Offset+RoiDecoder.OVERLAY_LABEL_COLOR, overlayLabelColor.getRGB()); Font font = proto.getLabelFont(); if (font!=null) putShort(hdr2Offset+RoiDecoder.OVERLAY_FONT_SIZE, font.getSize()); if (roiNameSize>0) putName(roi, hdr2Offset); double strokeWidth = roi.getStrokeWidth(); if (roi.getStroke()==null) strokeWidth = 0.0; putFloat(hdr2Offset+RoiDecoder.FLOAT_STROKE_WIDTH, (float)strokeWidth); if (roiPropsSize>0) putProps(roi, hdr2Offset); if (countersSize>0) putPointCounters(roi, hdr2Offset); }
roi = get(i); c = roi.getCPosition(); z = roi.getZPosition(); t = roi.getTPosition(); c2 = c-firstC+1;
/** Flattens Overlay 'overlay' on slice 'slice' corresponding to * coordinates 'z' and 't' in RGB-HyperStack 'stack' */ private void flattenImage(ImageStack stack, int slice, Overlay overlay, boolean showAll, int z, int t) { ImageProcessor ips = stack.getProcessor(slice); ImagePlus imp1 = new ImagePlus("temp", ips); int w = imp1.getWidth(); int h = imp1.getHeight(); for (int i=0; i<overlay.size(); i++) { Roi r = overlay.get(i); int cPos = r.getCPosition();// 0 or 1 (RGB-HyperStack) int zPos = r.getZPosition(); int tPos = r.getTPosition(); if (!((cPos==1 || cPos==0) && (zPos==z || zPos==0) && (tPos==t || tPos==0) || showAll)) r.setLocation(w, h); } imp1.setOverlay(overlay); ImagePlus imp2 = imp1.flatten(); stack.setPixels(imp2.getProcessor().getPixels(), slice); }
/** Flattens Overlay 'overlay' on slice 'slice' corresponding to * coordinates 'z' and 't' in RGB-HyperStack 'stack' */ private void flattenImage(ImageStack stack, int slice, Overlay overlay, boolean showAll, int z, int t) { ImageProcessor ips = stack.getProcessor(slice); ImagePlus imp1 = new ImagePlus("temp", ips); int w = imp1.getWidth(); int h = imp1.getHeight(); for (int i=0; i<overlay.size(); i++) { Roi r = overlay.get(i); int cPos = r.getCPosition();// 0 or 1 (RGB-HyperStack) int zPos = r.getZPosition(); int tPos = r.getTPosition(); if (!((cPos==1 || cPos==0) && (zPos==z || zPos==0) && (tPos==t || tPos==0) || showAll)) r.setLocation(w, h); } imp1.setOverlay(overlay); ImagePlus imp2 = imp1.flatten(); stack.setPixels(imp2.getProcessor().getPixels(), slice); }
int z = roi.getZPosition(); int t = roi.getTPosition(); if (c>0 || t>0) {
for (Roi r : overlay.toArray()) { c = r.getCPosition(); z = r.getZPosition(); t = r.getTPosition(); roi = (Roi)r.clone();
for (Roi r : overlay.toArray()) { c = r.getCPosition(); z = r.getZPosition(); t = r.getTPosition(); roi = (Roi)r.clone();
if (hyperstack) { int c = roi.getCPosition(); int z = roi.getZPosition(); int t = roi.getTPosition(); int position = roi.getPosition();
Roi roi = overlay.get(i); int c = roi.getCPosition(); int z = roi.getZPosition(); int t = roi.getTPosition(); if (c>=1 && c<=nChannels2)
if (hyperstack && roi.getPosition()==0) { int c = roi.getCPosition(); int z = roi.getZPosition(); int t = roi.getTPosition(); if (!((c==0||c==channel)&&(z==0||z==slice)&&(t==0||t==frame) || roiManagerShowAllMode))
if (hyperstack && roi.getPosition()==0) { int c = roi.getCPosition(); int z = roi.getZPosition(); int t = roi.getTPosition(); if (!((c==0||c==channel)&&(z==0||z==slice)&&(t==0||t==frame) || roiManagerShowAllMode))
boolean hyperstack = imp.isHyperStack(); if (hyperstack && roi.hasHyperStackPosition()) imp.setPosition(roi.getCPosition(), roi.getZPosition(), roi.getTPosition()); else { String label = (String)listModel.getElementAt(index);
boolean hyperstack = imp.isHyperStack(); if (hyperstack && roi.hasHyperStackPosition()) imp.setPosition(roi.getCPosition(), roi.getZPosition(), roi.getTPosition()); else { String label = (String)listModel.getElementAt(index);
int position = rois[i].getPosition(); int c = rois[i].getCPosition(); int z = rois[i].getZPosition(); int t = rois[i].getTPosition(); rt.setValue("Index", i, i);
int position = rois[i].getPosition(); int c = rois[i].getCPosition(); int z = rois[i].getZPosition(); int t = rois[i].getTPosition(); rt.setValue("Index", i, i);