/******************************************************************************************************************* * * Removes all the resources bound to this image. * ******************************************************************************************************************/ public final void dispose() { imageModelHolder.get().dispose(); imageModelHolder = null; attributeMapByName.clear(); }
/******************************************************************************* * * ******************************************************************************/ public void set (ImageModel imageModel) { this.imageModel = imageModel; this.id = imageModel.getId(); }
/******************************************************************************************************************* * * Clones this image. * ******************************************************************************************************************/ public final EditableImage cloneImage() { final EditableImage imageCopy = imageModelHolder.get().createCopy(true); imageCopy.attributeMapByName = new HashMap<String, Object>(attributeMapByName); return imageCopy; }
/******************************************************************************* * * Returns an estimate of the memory allocated by this image. The default * implementation returns the number of pixels multiplied by the number of bands * multiplied the size in bytes of each pixel. Can be overridden for more * accurate implementations. * * @return the memory allocated for this image * ******************************************************************************/ public long getMemorySize() { final EditableImage.DataType dataType = getDataType(); return (dataType == null) ? 0 : ((long)dataType.getSize() * getWidth() * getHeight() * getBandCount()) / 8; }
final Object image = (imageModel != null) ? imageModel.getImage() : null; final Collection<? extends ImplementationFactory> factories = getFactories(); && (factory.canConvertFrom(image.getClass()) || imageModel.getFactory().canConvertTo(factory.getModelClass())))
/******************************************************************************* * * ******************************************************************************/ public static PlanarImage getPlanarImage (EditableImage editableImage) { return (PlanarImage)editableImage.getImageModel().getImage(); }
/******************************************************************************************************************* * * Returns the number of bands this EditableImage is composed of. * * @return the band count * ******************************************************************************************************************/ public final int getBandCount() { return imageModelHolder.get().getBandCount(); }
/******************************************************************************************************************* * * Returns the ColorModel of this image. * * @return the color model * ******************************************************************************************************************/ public final ColorModel getColorModel() // FIXME: to be removed { return imageModelHolder.get().getColorModel(); }
/******************************************************************************************************************* * * Returns the dataType used by this image. * * @return the data type * ******************************************************************************************************************/ public final DataType getDataType() { return imageModelHolder.get().getDataType(); }
/******************************************************************************************************************* * * Returns the height of this image. * * @return the height * ******************************************************************************************************************/ public final int getHeight() { return imageModelHolder.get().getHeight(); }
/******************************************************************************************************************* * * This is only for testing purposes. * ******************************************************************************/ public final <T> T getInnerProperty (final Class<T> propertyClass) { if (IIOMetadata.class.equals(propertyClass)) { return (T)iioMetadata; } return imageModelHolder.get().getInnerProperty(propertyClass); }
Object image = (imageModel != null) ? imageModel.getImage() : null; OperationImplementation implementation = null; image = imageModelHolder.get().getImage(); else if (imageModelHolder.get().getFactory().canConvertTo(implementation.getFactory().getModelClass())) image = imageModelHolder.get().getFactory().convertTo(implementation.getFactory().getModelClass());
/******************************************************************************* * * ******************************************************************************/ @Override public final String toString () { return getClass().getName() + "[id: " + getId() + ((nickName != null) ? (", nickName: " + nickName) : "") + //", model: " + model + "]"; }
/******************************************************************************* * * @inheritDoc * ******************************************************************************/ @Override public void dispose() { getPlanarImage().dispose(); super.dispose(); }
/******************************************************************************************************************* * * Creates a similar image, that is a blank image with the same characteristics * of this image (width, height, data type, color model). * @deprecated will be merged with create(AbstractCreateOp) * * @return a new, similar image * ******************************************************************************************************************/ public final EditableImage createSimilarImage() { final EditableImage imageCopy = imageModelHolder.get().createCopy(false); imageCopy.attributeMapByName = new HashMap<String, Object>(attributeMapByName); return imageCopy; }
@Override public String toString() { final ImageModel model = get(); return String.format("SerializableImageModelHolder[%s]", (model != null) ? model.getId() : "null"); } }
@Override public String toString() { final StringBuffer buffer = new StringBuffer(getClass().getName() + "["); final ImageModel model = get(); buffer.append((model != null) ? model.getId() : "null"); if (model != null) { final String nickName = getNickName(); if (nickName != null) { buffer.append(", " + nickName); } } buffer.append("]"); return buffer.toString(); } }