@Override protected long[] findBoundMax() { for (int i = 0; i < numD; i++) { boundMax[i] = (long) Math.ceil(roi.realMax(i)); } return boundMax; }
@Override public long[] getOrigin() { for (int i = 0; i < numD; i++) origin[i] = (long) Math.floor(roi.realMin(i)); return origin; }
public UVInsideRoiCondition(RegionOfInterest roi) { this.roi = roi; this.accessor = roi.realRandomAccess(); }
private ShapeRoi createBinaryMaskRoi(final BinaryMaskOverlay<?, ?> overlay) { final RegionOfInterest region = overlay.getRegionOfInterest(); final double[] min = new double[region.numDimensions()]; region.realMin(min); final double[] max = new double[region.numDimensions()]; region.realMax(max); final RealRandomAccess<BitType> ra = region.realRandomAccess();
final RegionOfInterest roi = overlay.getData().getRegionOfInterest(); if (roi != null) { final long minX = (long) Math.floor(roi.realMin(0)); final long maxX = (long) Math.ceil(roi.realMax(0)) + 1; final long minY = (long) Math.floor(roi.realMin(1)); final long maxY = (long) Math.ceil(roi.realMax(1)) + 1; final ColorRGB color = overlay.getData().getFillColor(); final IndexColorModel cm = final DataBufferByte db = (DataBufferByte) dbuncast; final byte[] bankData = db.getData(); final RealRandomAccess<BitType> ra = roi.realRandomAccess(); final Position planePos = overlay.getPlanePosition(); for (int i = 0; i < planePos.numDimensions(); i++) {
@Override protected void getRealExtrema( final double[] minima, final double[] maxima ) { Arrays.fill( minima, Double.MAX_VALUE ); Arrays.fill( maxima, -Double.MAX_VALUE ); for ( final RegionOfInterest roi : rois ) { for ( int i = 0; i < numDimensions(); i++ ) { minima[ i ] = Math.min( minima[ i ], roi.realMin( i ) ); maxima[ i ] = Math.max( maxima[ i ], roi.realMax( i ) ); } } } }
public RoiPointSet(RegionOfInterest roi) { this.roi = roi; numD = roi.numDimensions(); origin = new long[numD]; boundMin = new long[numD]; boundMax = new long[numD]; tmpCoord = new double[numD]; }
@Override public void draw(final Overlay o, final DrawingTool tool) { final RegionOfInterest region = o.getRegionOfInterest(); final IterableInterval<BitType> ii = iterableInterval(region); final long[] max = new long[region.numDimensions()]; ii.max(max); final Cursor<BitType> cursor = ii.localizingCursor(); final RealRandomAccess<BitType> accessor = region.realRandomAccess(); long[] pos = new long[region.numDimensions()]; while (cursor.hasNext()) { cursor.fwd(); cursor.localize(pos); accessor.setPosition(pos); if (accessor.get().get() && isBorderPixel(accessor, pos, max[0], max[1])) { tool.drawPixel(pos[0], pos[1]); } } }
@Override public boolean includes(long[] point) { for (int i = 0; i < numD; i++) { tmpCoord[i] = point[i]; } return roi.contains(tmpCoord); }
@Override public void move( final double displacement, final int d ) { for ( final RegionOfInterest roi : rois ) roi.move( displacement, d ); }
@Override public int numDimensions() { return roi.numDimensions(); }
@Override public boolean includes(long[] point) { for (int i = 0; i < numD; i++) { tmpCoord[i] = point[i]; } return roi.contains(tmpCoord); }
@Override public void translate(long[] delta) { for (int i = 0; i < numD; i++) { roi.move(delta[i], i); } invalidateBounds(); }
@Override protected long[] findBoundMin() { for (int i = 0; i < numD; i++) { boundMin[i] = (long) Math.floor(roi.realMin(i)); } return boundMin; }
public UVInsideRoiCondition(RegionOfInterest roi) { this.roi = roi; this.accessor = roi.realRandomAccess(); }
public RoiPointSet(RegionOfInterest roi) { this.roi = roi; numD = roi.numDimensions(); origin = new long[numD]; boundMin = new long[numD]; boundMax = new long[numD]; tmpCoord = new double[numD]; }
@Override protected long[] findBoundMax() { for (int i = 0; i < numD; i++) { boundMax[i] = (long) Math.ceil(roi.realMax(i)); } return boundMax; }
@Override public boolean contains(Point2D.Double pt) { int d = dataset.numDimensions(); if ((tmpPos == null) || (tmpPos.length != d)) tmpPos = new double[d]; tmpPos[0] = pt.x; tmpPos[1] = pt.y; for (int i = 2; i < tmpPos.length; i++) { AxisType axisType = dataset.axis(i).type(); tmpPos[i] = display.getLongPosition(axisType); } return overlay.getRegionOfInterest().contains(tmpPos); }
@Override public void translate(long[] delta) { for (int i = 0; i < numD; i++) { roi.move(delta[i], i); } invalidateBounds(); }
@Override public long[] getOrigin() { for (int i = 0; i < numD; i++) origin[i] = (long) Math.floor(roi.realMin(i)); return origin; }