@Override public int numDimensions() { return imgPlus.numDimensions(); }
/** * {@inheritDoc} */ @Override public ImgPlus< T > createEmptyOutput( ImgPlus< T > op ) { BitSet isLength1 = new BitSet( op.numDimensions() ); for ( int d = 0; d < op.numDimensions(); d++ ) { if ( op.dimension( d ) == 1 ) { isLength1.set( d ); } } long[] min = new long[ op.numDimensions() - isLength1.cardinality() ]; long[] max = new long[ min.length ]; int d = 0; for ( int i = 0; i < op.numDimensions(); i++ ) { if ( !isLength1.get( i ) ) { max[ d ] = op.dimension( i ) - 1; d++; } } Img< T > res = op.factory().create( new FinalInterval( min, max ), op.firstElement().createVariable() ); return new ImgPlus< T >( res ); }
/** * {@inheritDoc} */ @Override public ImgPlus< T > createEmptyOutput( ImgPlus< T > op ) { AxisType[] axes = new AxisType[ op.numDimensions() ]; op.axes( axes ); m_isNewDim.clear(); for ( int d = 0; d < m_newDimensions.length; d++ ) { for ( int a = 0; a < axes.length; a++ ) { if ( !axes[ a ].getLabel().equals( m_newDimensions[ d ] ) ) { m_isNewDim.set( d ); } } } long[] newDims = new long[ op.numDimensions() + m_isNewDim.cardinality() ]; Arrays.fill( newDims, 1 ); for ( int i = 0; i < op.numDimensions(); i++ ) { newDims[ i ] = op.dimension( i ); } return new ImgPlus< T >( op.factory().create( newDims, op.firstElement().createVariable() ) ); }
/** Makes an image that has same type, container, and dimensions as refImage. */ private static <T extends RealType<T>> ImgPlus<T> createBlankCopy( final ImgPlus<T> img) { final long[] dimensions = new long[img.numDimensions()]; img.dimensions(dimensions); final Img<T> blankImg = img.factory().create(dimensions, img.firstElement()); return new ImgPlus<T>(blankImg, img); }
protected static < T extends NumericType< T > & NativeType< T > > void setCalibrationFromImagePlus1( final ImgPlus<T> image, final ImagePlus imp ) final int d = image.numDimensions(); final float [] spacing = new float[d];
BitSet isLength1 = new BitSet( op.numDimensions() ); for ( int d = 0; d < op.numDimensions(); d++ ) for ( int i = 0; i < op.numDimensions(); i++ )
for ( int d = 0; d < op.numDimensions(); d++ ) int d = op.numDimensions(); for ( int i = 0; i < m_newDimensions.length; i++ ) for ( int i = 0; i < op.numDimensions(); i++ )
/** * {@inheritDoc} */ @Override public ImgPlus< T > compute( ImgPlus< T > op, ImgPlus< T > r ) { r.setName( op.getName() ); r.setSource( op.getSource() ); for ( int d = 0; d < op.numDimensions(); d++ ) { r.setAxis( op.axis( d ), d ); r.setCalibration( op.calibration( d ), d ); } new ImgCopyOperation< T >().compute( op, r ); return r; }
private Object copyOfPlane(final int planeNum) { final long[] dimensions = new long[imgPlus.numDimensions()]; imgPlus.dimensions(dimensions); final long w = dimensions[0];