@Override protected RealBounds intersectBounded( final RealBounds arg0, final RealBounds arg1 ) { return new RealBounds( new IntersectionRealInterval( arg0.interval(), arg1.interval() ) ); }
@Override public < T extends Type< T >> IterableInterval< T > getIterableIntervalOverROI( final RandomAccessible< T > src ) { if ( src instanceof RandomAccessibleInterval ) return new AROIClippedIterableInterval< T >( ( RandomAccessibleInterval< T > ) src ); return new AROIIterableInterval< T >( src ); }
@Override protected IntBounds unionBounded( final IntBounds arg0, final IntBounds arg1 ) { return new IntBounds( new UnionInterval( arg0.interval(), arg1.interval() ) ); }
public TextOverlay(ImageJ context, double x, double y, String text, Justification j) { super(context, new RectangleRegionOfInterest(new double[] { x, y }, new double[] { 0, 0 })); this.text = text; this.just = j; }
public AngleRegionOfInterest() { super( 2 ); this.ctr = new double[ 2 ]; this.end1 = new double[ 2 ]; this.end2 = new double[ 2 ]; this.line1 = new LineRegionOfInterest( ctr, end1 ); this.line2 = new LineRegionOfInterest( ctr, end2 ); invalidateCachedState(); }
@Override public void move( final double displacement, final int d ) { ctr[ d ] += displacement; end1[ d ] += displacement; end2[ d ] += displacement; line1.move( displacement, d ); line2.move( displacement, d ); invalidateCachedState(); }
@Override protected IntBounds intersectBounded( final IntBounds arg0, final IntBounds arg1 ) { return new IntBounds( new IntersectionInterval( arg0.interval(), arg1.interval() ) ); }
@Override protected RealBounds unionBounded( final RealBounds arg0, final RealBounds arg1 ) { return new RealBounds( new UnionRealInterval( arg0.interval(), arg1.interval() ) ); }
public static IntBounds of( final Predicate< ? > predicate ) { if ( predicate instanceof Interval ) return IntBounds.of( ( Interval ) predicate ); else if ( predicate instanceof RealInterval ) return IntBounds.of( new SmallestContainingInterval( ( RealInterval ) predicate ) ); else return IntBounds.UNBOUNDED; }
@Override public void setPosition( final double[] position ) { for ( int i = 0; i < position.length; i++ ) { this.position[ i ] = position[ i ]; } updateCachedMembershipStatus(); }
protected void max( final long[] max ) { validateExtremaCache(); for ( int i = 0; i < max.length; i++ ) { max[ i ] = cached_max[ i ]; } }
@Override public double realMax( final int d ) { validateRealExtremaCache(); return cached_real_max[ d ]; }
@Override public Object iterationOrder() { return new AROIIterationOrder(); }
@Override public double realMin( final int d ) { return AbstractIterableRegionOfInterest.this.realMin( d ); }
@Override public int numDimensions() { return AbstractIterableRegionOfInterest.this.numDimensions(); }
@Override public long dimension( final int d ) { return AbstractIterableRegionOfInterest.this.dimension( d ); }
@Override public void realMax( final double[] max ) { for ( int i = 0; i < max.length; i++ ) { max[ i ] = realMax( i ); } }
public AngleRegionOfInterest( final double[] ctr, final double[] e1, final double[] e2 ) { super( ctr.length ); assert ctr.length == e1.length; assert ctr.length == e2.length; this.ctr = ctr; this.end1 = e1; this.end2 = e2; this.line1 = new LineRegionOfInterest( ctr, end1 ); this.line2 = new LineRegionOfInterest( ctr, end2 ); invalidateCachedState(); }
@Override public void setPosition( final int[] position ) { for ( int i = 0; i < position.length; i++ ) { this.position[ i ] = position[ i ]; } updateCachedMembershipStatus(); }
protected long min( final int d ) { validateExtremaCache(); return cached_min[ d ]; }