/** * Check whether a <code>SampleModel</code> represents a binary data set, i.e., a single band of data with one bit per pixel packed into a * <code>MultiPixelPackedSampleModel</code>. */ public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel) sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel)sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel)sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel)sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
/** * Check whether a <code>SampleModel</code> represents a binary data set, i.e., a single band of data with one bit per pixel packed into a * <code>MultiPixelPackedSampleModel</code>. */ public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel) sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel)sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
public static boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel) sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
private boolean isBinary(SampleModel sm) { return sm instanceof MultiPixelPackedSampleModel && ((MultiPixelPackedSampleModel) sm).getPixelBitStride() == 1 && sm.getNumBands() == 1; }
/** * Returns the <cite>pixel stride</cite> of the given sample model. The pixel stride is the * number of data array elements between two samples for the same band on the same scanline. * <p> * If the given model is an instance of {@link MultiPixelPackedSampleModel}, then the stride * can be fractional. Note that the returned value still exact since the ratio of an integer * with a power of 2 has exact representations in IEEE 754. * * @param model The sample model from which to get the pixel stride. * @return The pixel stride, rounded toward positive infinity if necessary. * @throws IllegalArgumentException If the given model is not of a known type. */ public static float getPixelStride(final SampleModel model) throws IllegalArgumentException { if (model instanceof ComponentSampleModel) { return ((ComponentSampleModel) model).getPixelStride(); } if (model instanceof SinglePixelPackedSampleModel) { return 1; } if (model instanceof MultiPixelPackedSampleModel) { return ((MultiPixelPackedSampleModel) model).getPixelBitStride() / (float) getDataTypeSize(model); } throw new IllegalArgumentException(Errors.format( Errors.Keys.UnknownType_1, Classes.getShortClassName(model))); }
/** * Returns the <cite>pixel stride</cite> of the given sample model <strong>in bits</strong>. * This is the number of bits between two samples for the same band on the same scanline. * * @param model The sample model from which to get the pixel stride. * @return The pixel stride in <strong>bits</strong>. * @throws IllegalArgumentException If the given model is not of a known type. */ public static int getPixelBitStride(final SampleModel model) throws IllegalArgumentException { if (model instanceof ComponentSampleModel) { return ((ComponentSampleModel) model).getPixelStride() * getDataTypeSize(model); } if (model instanceof SinglePixelPackedSampleModel) { return getDataTypeSize(model); } if (model instanceof MultiPixelPackedSampleModel) { return ((MultiPixelPackedSampleModel) model).getPixelBitStride(); } throw new IllegalArgumentException(Errors.format( Errors.Keys.UnknownType_1, Classes.getShortClassName(model))); } }
MultiPixelPackedSampleModel multiModel = (MultiPixelPackedSampleModel) model; step = multiModel.getScanlineStride(); channels = ((MultiPixelPackedSampleModel) model).getPixelBitStride() / 8;
MultiPixelPackedSampleModel mppsm = (MultiPixelPackedSampleModel)sm; if(dataTypeSize % mppsm.getPixelBitStride() != 0) {
MultiPixelPackedSampleModel mppsm = (MultiPixelPackedSampleModel)sm; if(dataTypeSize % mppsm.getPixelBitStride() != 0) {
MultiPixelPackedSampleModel mppsm = (MultiPixelPackedSampleModel)sm; if(dataTypeSize % mppsm.getPixelBitStride() != 0) {
MultiPixelPackedSampleModel mppsm = (MultiPixelPackedSampleModel)sm; if(dataTypeSize % mppsm.getPixelBitStride() != 0) {
} else if (sm instanceof MultiPixelPackedSampleModel) { step = ((MultiPixelPackedSampleModel)sm).getScanlineStride(); channels = ((MultiPixelPackedSampleModel)sm).getPixelBitStride()/8; // ??
if (packedSampleModel.getPixelBitStride() == 1) {
if (packedSampleModel.getPixelBitStride() == 1) {
} else if (sm instanceof MultiPixelPackedSampleModel) { step = ((MultiPixelPackedSampleModel)sm).getScanlineStride(); channels = ((MultiPixelPackedSampleModel)sm).getPixelBitStride()/8; // ??
final MultiPixelPackedSampleModel sm = (MultiPixelPackedSampleModel) sampleModel; bldr.setModelType(TYPE_MULTI_PIXEL_PACKED); bldr.setPixelBitStride(sm.getPixelBitStride()); bldr.setScanlineStride(sm.getScanlineStride()); bldr.setDataBitOffset(sm.getDataBitOffset());