protected void initialize(int width, int height) { _setData(Array.newInstance(getDataType().getDataType(), width * height)); this.startIndex = 0; this.stride = width; this.width = width; this.height = height; }
private void setByDataType( ImageDataType type ) { primitiveType = type.getDataType(); numBits = type.getNumBits(); abbreviatedType = type.toString();
@Override public void invert(GrayS32 transformed, T original) { copyInput.reshape(transformed.width,transformed.height); temp.reshape(transformed.width,transformed.height); copyInput.setTo(transformed); if( original.getDataType().getDataType() == int.class ) { WaveletTransformOps. inverseN(desc, copyInput, (GrayS32) original, temp, numLevels, minPixelValue, maxPixelValue); } else { copyOutput.reshape(original.width,original.height); WaveletTransformOps.inverseN(desc, copyInput, copyOutput,temp,numLevels,minPixelValue,maxPixelValue); GConvertImage.convert(copyOutput,original); } }
public static ImageBorder wrap(ImageGray image , double value ) { if( image.getDataType().isInteger() ) { if( image.getDataType().getNumBits() <= 32 ) return wrap((GrayI)image,(int)value); else return wrap((GrayS64)image,(long)value); } else if( image.getDataType().getDataType() == float.class ) { return wrap((GrayF32)image,(float)value); } else { return wrap((GrayF64)image,value); } }
@Override public GrayS32 transform(T original, GrayS32 transformed) { if( transformed == null ) { ImageDimension d = UtilWavelet.transformDimension(original,numLevels); transformed = new GrayS32(d.width,d.height); } temp.reshape(transformed.width,transformed.height); copyInput.reshape(original.width,original.height); if( original.getDataType().getDataType() == int.class ) { copyInput.setTo((GrayS32)original); } else { GConvertImage.convert(original, copyInput); } WaveletTransformOps.transformN(desc, copyInput,transformed,temp,numLevels); return transformed; }