Examples of PixelAccessor


Examples of javax.media.jai.PixelAccessor

        int nSrcs = sources.length;
        int[] snbands = new int[nSrcs];
        PixelAccessor[] pas = new PixelAccessor[nSrcs];

        for ( int i = 0; i < nSrcs; i++ ) {
            pas[i] = new PixelAccessor(sources[i].getSampleModel(), colorModels[i]);

            if ( colorModels[i] instanceof IndexColorModel ) {
                snbands[i] = colorModels[i].getNumComponents();
            } else {
                snbands[i] = sources[i].getNumBands();
            }
        }       

        int dnbands     = dest.getNumBands();
        int destType    = dest.getTransferType();
        PixelAccessor d = new PixelAccessor(dest.getSampleModel(), null);

        UnpackedImageData dimd = d.getPixels(dest,
                                             destRect,    //liney,
                                             destType,
                                             true);

        byte[][] dstdata = (byte[][])dimd.data;

        for ( int sindex = 0, db = 0; sindex < nSrcs; sindex++ ) {

            UnpackedImageData simd =
                colorModels[sindex] instanceof IndexColorModel ?
                pas[sindex].getComponents(sources[sindex],
                                          destRect,
                                          sources[sindex].getSampleModel().getTransferType()) :
                pas[sindex].getPixels(sources[sindex],
                                      destRect,
                                      sources[sindex].getSampleModel().getTransferType(),
                                      false);

             
            int srcPixelStride = simd.pixelStride;
            int srcLineStride  = simd.lineStride;
            int dstPixelStride = dimd.pixelStride;
            int dstLineStride  = dimd.lineStride;
            int dRectWidth     = destRect.width;

            for ( int sb = 0; sb < snbands[sindex]; sb++, db++ ) {
                if ( db >= dnbands ) {
                     // exceeding destNumBands; should not have happened
                     break;
                }

                byte[]   dstdatabandb = dstdata[db];
                byte[][] srcdata = (byte[][])simd.data;
                byte[]   srcdatabandsb = srcdata[sb];
                int srcstart = simd.bandOffsets[sb];
                int dststart = dimd.bandOffsets[db];

                for(int y = 0;
                    y < destRect.height;
                    y++, srcstart += srcLineStride, dststart += dstLineStride){
                   
                    for(int i=0, srcpos = srcstart, dstpos = dststart;
                        i < dRectWidth;
                        i++, srcpos += srcPixelStride, dstpos += dstPixelStride){
                         
                             dstdatabandb[dstpos] = srcdatabandsb[srcpos];
                    }
                }
            }
        }

        d.setPixels(dimd);
    }
View Full Code Here

Examples of javax.media.jai.PixelAccessor

        int nSrcs = sources.length;
        int[] snbands = new int[nSrcs];
        PixelAccessor[] pas = new PixelAccessor[nSrcs];

        for ( int i = 0; i < nSrcs; i++ ) {
            pas[i] = new PixelAccessor(sources[i].getSampleModel(), colorModels[i]);

            if ( colorModels[i] instanceof IndexColorModel ) {
                snbands[i] = colorModels[i].getNumComponents();
            } else {
                snbands[i] = sources[i].getNumBands();
            }
        }       

        int dnbands     = dest.getNumBands();
        int destType    = dest.getTransferType();
        PixelAccessor d = new PixelAccessor(dest.getSampleModel(),null);

        UnpackedImageData dimd = d.getPixels(dest,
                                             destRect,    //liney,
                                             destType,
                                             true);

        short[][] dstdata = (short[][])dimd.data;

        for ( int sindex = 0, db = 0; sindex < nSrcs; sindex++ ) {

            UnpackedImageData simd =
                colorModels[sindex] instanceof IndexColorModel ?
                pas[sindex].getComponents(sources[sindex],
                                          destRect,
                                          sources[sindex].getSampleModel().getTransferType()) :
                pas[sindex].getPixels(sources[sindex],
                                      destRect,
                                      sources[sindex].getSampleModel().getTransferType(),
                                      false);
             
            int srcPixelStride = simd.pixelStride;
            int srcLineStride  = simd.lineStride;
            int dstPixelStride = dimd.pixelStride;
            int dstLineStride  = dimd.lineStride;
            int dRectWidth     = destRect.width;

            for ( int sb = 0; sb < snbands[sindex]; sb++, db++ ) {
                if ( db < dnbands ) {
                    short[][] srcdata = (short[][])simd.data;
                    int srcstart = simd.bandOffsets[sb];
                    int dststart = dimd.bandOffsets[db];
                    for(int y = 0;
                        y < destRect.height;
                        y++, srcstart += srcLineStride, dststart += dstLineStride){
                       
                        for(int i=0, srcpos = srcstart, dstpos = dststart;
                            i < dRectWidth;
                            i++, srcpos += srcPixelStride, dstpos += dstPixelStride){
                         
                                dstdata[db][dstpos] = srcdata[sb][srcpos];
                        }
                    }
                }
            }
        }

        d.setPixels(dimd);
    }
View Full Code Here

Examples of javax.media.jai.PixelAccessor

        int nSrcs = sources.length;
        int[] snbands = new int[nSrcs];
        PixelAccessor[] pas = new PixelAccessor[nSrcs];

        for ( int i = 0; i < nSrcs; i++ ) {
            pas[i] = new PixelAccessor(sources[i].getSampleModel(), colorModels[i]);

            if ( colorModels[i] instanceof IndexColorModel ) {
                snbands[i] = colorModels[i].getNumComponents();
            } else {
                snbands[i] = sources[i].getNumBands();
            }
        }       

        int dnbands     = dest.getNumBands();
        int destType    = dest.getTransferType();
        PixelAccessor d = new PixelAccessor(dest.getSampleModel(),null);

        UnpackedImageData dimd = d.getPixels(dest,
                                             destRect,    //liney,
                                             destType,
                                             true);

        int[][] dstdata = (int[][])dimd.data;

        for ( int sindex = 0, db = 0; sindex < nSrcs; sindex++ ) {

            UnpackedImageData simd =
                colorModels[sindex] instanceof IndexColorModel ?
                pas[sindex].getComponents(sources[sindex],
                                          destRect,
                                          sources[sindex].getSampleModel().getTransferType()) :
                pas[sindex].getPixels(sources[sindex],
                                      destRect,
                                      sources[sindex].getSampleModel().getTransferType(),
                                      false);

            int srcPixelStride = simd.pixelStride;
            int srcLineStride  = simd.lineStride;
            int dstPixelStride = dimd.pixelStride;
            int dstLineStride  = dimd.lineStride;
            int dRectWidth     = destRect.width;

            for ( int sb = 0; sb < snbands[sindex]; sb++, db++ ) {
                if ( db < dnbands ) {
                    int[][] srcdata = (int[][])simd.data;
                    int srcstart = simd.bandOffsets[sb];
                    int dststart = dimd.bandOffsets[db];
                    for(int y = 0;
                        y < destRect.height;
                        y++, srcstart += srcLineStride, dststart += dstLineStride){
                       
                        for(int i=0, srcpos = srcstart, dstpos = dststart;
                            i < dRectWidth;
                            i++, srcpos += srcPixelStride, dstpos += dstPixelStride){
                          
                                dstdata[db][dstpos] = srcdata[sb][srcpos];
                        }
                    }
                }
            }
        }

        d.setPixels(dimd);
    }
View Full Code Here

Examples of javax.media.jai.PixelAccessor

        int nSrcs = sources.length;
        int[] snbands = new int[nSrcs];
        PixelAccessor[] pas = new PixelAccessor[nSrcs];

        for ( int i = 0; i < nSrcs; i++ ) {
            pas[i] = new PixelAccessor(sources[i].getSampleModel(), colorModels[i]);

            if ( colorModels[i] instanceof IndexColorModel ) {
                snbands[i] = colorModels[i].getNumComponents();
            } else {
                snbands[i] = sources[i].getNumBands();
            }
        }       

        int dnbands     = dest.getNumBands();
        int destType    = dest.getTransferType();
        PixelAccessor d = new PixelAccessor(dest.getSampleModel(), null);

        UnpackedImageData dimd = d.getPixels(dest,
                                             destRect,    //liney,
                                             destType,
                                             true);

        float[][] dstdata = (float[][])dimd.data;

        for ( int sindex = 0, db = 0; sindex < nSrcs; sindex++ ) {

            UnpackedImageData simd =
                colorModels[sindex] instanceof IndexColorModel ?
                pas[sindex].getComponents(sources[sindex],
                                          destRect,
                                          sources[sindex].getSampleModel().getTransferType()) :
                pas[sindex].getPixels(sources[sindex],
                                      destRect,
                                      sources[sindex].getSampleModel().getTransferType(),
                                      false);

            int srcPixelStride = simd.pixelStride;
            int srcLineStride  = simd.lineStride;
            int dstPixelStride = dimd.pixelStride;
            int dstLineStride  = dimd.lineStride;
            int dRectWidth     = destRect.width;

            for ( int sb = 0; sb < snbands[sindex]; sb++, db++ ) {
                if ( db < dnbands ) {
                    float[][] srcdata = (float[][])simd.data;
                    int srcstart = simd.bandOffsets[sb];
                    int dststart = dimd.bandOffsets[db];
                    for(int y = 0;
                        y < destRect.height;
                        y++, srcstart += srcLineStride, dststart += dstLineStride){
                       
                        for(int i=0, srcpos = srcstart, dstpos = dststart;
                            i < dRectWidth;
                            i++, srcpos += srcPixelStride, dstpos += dstPixelStride){
                          
                                dstdata[db][dstpos] = srcdata[sb][srcpos];
                        }
                    }
                }
            }
        }

        d.setPixels(dimd);
    }
View Full Code Here

Examples of javax.media.jai.PixelAccessor

        int nSrcs = sources.length;
        int[] snbands = new int[nSrcs];
        PixelAccessor[] pas = new PixelAccessor[nSrcs];

        for ( int i = 0; i < nSrcs; i++ ) {
            pas[i] = new PixelAccessor(sources[i].getSampleModel(), colorModels[i]);

            if ( colorModels[i] instanceof IndexColorModel ) {
                snbands[i] = colorModels[i].getNumComponents();
            } else {
                snbands[i] = sources[i].getNumBands();
            }
        }       

        int dnbands     = dest.getNumBands();
        int destType    = dest.getTransferType();
        PixelAccessor d = new PixelAccessor(dest.getSampleModel(), null);

        UnpackedImageData dimd = d.getPixels(dest,
                                             destRect,    //liney,
                                             destType,
                                             true);

        double[][] dstdata = (double[][])dimd.data;

        for ( int sindex = 0, db = 0; sindex < nSrcs; sindex++ ) {

            UnpackedImageData simd =
                colorModels[sindex] instanceof IndexColorModel ?
                pas[sindex].getComponents(sources[sindex],
                                          destRect,
                                          sources[sindex].getSampleModel().getTransferType()) :
                pas[sindex].getPixels(sources[sindex],
                                      destRect,
                                      sources[sindex].getSampleModel().getTransferType(),
                                      false);

            int srcPixelStride = simd.pixelStride;
            int srcLineStride  = simd.lineStride;
            int dstPixelStride = dimd.pixelStride;
            int dstLineStride  = dimd.lineStride;
            int dRectWidth     = destRect.width;

            for ( int sb = 0; sb < snbands[sindex]; sb++, db++ ) {
                if ( db < dnbands ) {
                    double[][] srcdata = (double[][])simd.data;
                    int srcstart = simd.bandOffsets[sb];
                    int dststart = dimd.bandOffsets[db];
                    for(int y = 0;
                        y < destRect.height;
                        y++, srcstart += srcLineStride, dststart += dstLineStride){
                       
                        for(int i=0, srcpos = srcstart, dstpos = dststart;
                            i < dRectWidth;
                            i++, srcpos += srcPixelStride, dstpos += dstPixelStride){
                          
                                dstdata[db][dstpos] = srcdata[sb][srcpos];
                        }
                    }
                }
            }
        }

        d.setPixels(dimd);
    }
View Full Code Here

Examples of javax.media.jai.PixelAccessor

    RuntimeException(JaiI18N.getString("SubsampleBinaryToGrayOpImage0"));
        }
    }

    private void byteLoop(Raster source, WritableRaster dest, Rectangle  destRect){
        PixelAccessor pa = new PixelAccessor(source.getSampleModel(), null);
  PackedImageData pid =
            pa.getPackedPixels(source, source.getBounds(), false, false);
  byte[] sourceData   = pid.data;
        int sourceDBOffset  = pid.offset;
  int dx  = destRect.x;
  int dy  = destRect.y;
  int dwi = destRect.width;
View Full Code Here

Examples of javax.media.jai.PixelAccessor

         RuntimeException(JaiI18N.getString("SubsampleBinaryToGrayOpImage0"));
        }
    }

    private void byteLoop2x2(Raster source, WritableRaster dest, Rectangle  destRect) {
        PixelAccessor pa = new PixelAccessor(source.getSampleModel(), null);
  PackedImageData pid =
            pa.getPackedPixels(source, source.getBounds(), false, false);
  byte[] sourceData   = pid.data;
        int sourceDBOffset  = pid.offset;
  int dx  = destRect.x;        int dy  = destRect.y;
  int dwi = destRect.width;    int dhi = destRect.height;
        int sourceTransX = pid.rect.x;   // source.getSampleModelTranslateX();
View Full Code Here

Examples of javax.media.jai.PixelAccessor

  // int thresholdI = (int)Math.ceil(this.threshold);
  // or through a lookup table for byte case

  Rectangle srcRect = mapDestRect(destRect,0); // should be identical to destRect

        PixelAccessor   pa  = new PixelAccessor(dest.getSampleModel(), null);
        PackedImageData pid = pa.getPackedPixels(dest, destRect, true, false);
  int offset = pid.offset;
        PixelAccessor   srcPa  = new PixelAccessor(source.getSampleModel(), null);

        UnpackedImageData srcImD = srcPa.getPixels(source, srcRect, DataBuffer.TYPE_BYTE, false);
  int srcOffset  = srcImD.bandOffsets[0];
  byte[] srcData = ((byte[][])srcImD.data)[0];
  int pixelStride= srcImD.pixelStride;

  int ind0 = pid.bitOffset;
View Full Code Here

Examples of javax.media.jai.PixelAccessor

  // int thresholdI = (int)Math.ceil(this.threshold);
  // or through a lookup table for byte case

  Rectangle srcRect = mapDestRect(destRect,0); // should be identical to destRect

        PixelAccessor   pa  = new PixelAccessor(dest.getSampleModel(), null);
        PackedImageData pid = pa.getPackedPixels(dest, destRect, true, false);
  int offset = pid.offset;
        PixelAccessor   srcPa  = new PixelAccessor(source.getSampleModel(), null);

        UnpackedImageData srcImD = srcPa.getPixels(source, srcRect, DataBuffer.TYPE_SHORT, false);
  int srcOffset  = srcImD.bandOffsets[0];
  short[] srcData = ((short[][])srcImD.data)[0];
  int pixelStride= srcImD.pixelStride;

  int ind0 = pid.bitOffset;
View Full Code Here

Examples of javax.media.jai.PixelAccessor

  // int thresholdI = (int)Math.ceil(this.threshold);
  // or through a lookup table for byte case

  Rectangle srcRect = mapDestRect(destRect,0); // should be identical to destRect

        PixelAccessor   pa  = new PixelAccessor(dest.getSampleModel(), null);
        PackedImageData pid = pa.getPackedPixels(dest, destRect, true, false);
  int offset = pid.offset;
        PixelAccessor   srcPa  = new PixelAccessor(source.getSampleModel(), null);

        UnpackedImageData srcImD = srcPa.getPixels(source, srcRect, DataBuffer.TYPE_USHORT, false);
  int srcOffset  = srcImD.bandOffsets[0];
  short[] srcData = ((short[][])srcImD.data)[0];
  int pixelStride= srcImD.pixelStride;

  int ind0 = pid.bitOffset;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.