Package java.awt.image.renderable

Examples of java.awt.image.renderable.ParameterBlock


            formatHints.add(hints);

        final double C0 = 0;
        final double C1 = 256.0;

        ParameterBlock pb = new ParameterBlock();
        pb.addSource(source);
        pb.add(new double[]{C1});
        pb.add(new double[]{C0});
        return JAI.create("Rescale", pb, formatHints);
    }
View Full Code Here


            formatHints.add(hints);

        final double C0 = 0;
        final double C1 = 1;

        ParameterBlock pb = new ParameterBlock();
        pb.addSource(source);
        pb.add(new double[]{C1});
        pb.add(new double[]{C0});
        return JAI.create("Rescale", pb, formatHints);
    }
View Full Code Here

            formatHints.add(hints);

        final double C0 = 0;
        final double C1 = 1.0/256.0;

        ParameterBlock pb = new ParameterBlock();
        pb.addSource(source);
        pb.add(new double[]{C1});
        pb.add(new double[]{C0});
        return JAI.create("Rescale", pb, formatHints);
    }
View Full Code Here

                                                                        cm));

        if (hints != null)
            formatHints.add(hints);

        ParameterBlock pb = new ParameterBlock();
        pb.addSource(source);
        pb.add(cm);
        if (intent != null)
            pb.add(intent);
        else
            pb.add(LCMSColorConvertDescriptor.PERCEPTUAL);
        if (proof != null) {
            pb.add(proof);
            if (proofIntent != null)
                pb.add(proofIntent);
        }
        return JAI.create("LCMSColorConvert", pb, formatHints);
    }
View Full Code Here

        // Avoid pushing scaling transforms in drawRenderedImage, it is really slow...
        RenderedImage xformedImage = image;
        if (!imageXform.isIdentity()) {
            RenderingHints extenderHints = new RenderingHints(JAI.KEY_BORDER_EXTENDER,
                                                              BorderExtender.createInstance(BorderExtender.BORDER_COPY));
            ParameterBlock params = new ParameterBlock();
            params.addSource(image);
            params.add(imageXform);
            params.add(Interpolation.getInstance(Interpolation.INTERP_BILINEAR));
            xformedImage = JAI.create("Affine", params, extenderHints);
        }
        g.drawRenderedImage(xformedImage, identityTransform);

        // Find the text area bounds:
View Full Code Here

            AffineTransform transform = AffineTransform.getScaleInstance(scale, scale);
            transform.preConcatenate(AffineTransform.getTranslateInstance(imageBounds.x, imageBounds.y));
            RenderingHints formatHints = new RenderingHints(JAI.KEY_BORDER_EXTENDER,
                                                            BorderExtender.createInstance(BorderExtender.BORDER_COPY));
            Interpolation interp = Interpolation.getInstance(Interpolation.INTERP_BILINEAR);
            ParameterBlock params = new ParameterBlock();
            params.addSource(image);
            params.add(transform);
            params.add(interp);
            RenderedOp scaled = JAI.create("Affine", params, formatHints);

            g.drawRenderedImage(scaled, new AffineTransform());

            scaled.dispose();
View Full Code Here

        if(opNode instanceof RenderedOp &&
           name.equalsIgnoreCase("roi")) {
            RenderedOp op = (RenderedOp)opNode;

            ParameterBlock pb = op.getParameterBlock();

            // Retrieve the rendered source image and its ROI.
            PlanarImage src = (PlanarImage)pb.getRenderedSource(0);
            Object roiProperty = src.getProperty("ROI");
            if(roiProperty == null ||
               roiProperty == java.awt.Image.UndefinedProperty ||
               !(roiProperty instanceof ROI)) {
                return java.awt.Image.UndefinedProperty;
View Full Code Here

        }

        RenderedOp denoiser;

        public PlanarImage setFront1() {
            ParameterBlock pb = new ParameterBlock();
            pb.addSource( back );
            return JAI.create("BilateralFilter", pb, null);
        }
View Full Code Here

            ColorScience.YST yst = new ColorScience.YST();

            double[][] rgb2yst = yst.fromRGB(back.getSampleModel().getDataType());
            double[][] yst2rgb = yst.toRGB(back.getSampleModel().getDataType());

            ParameterBlock pb = new ParameterBlock();
            pb.addSource( back );
            pb.add( rgb2yst );
            RenderedOp ystImage = JAI.create("BandCombine", pb, JAIContext.noCacheHint);

            pb = new ParameterBlock();
            pb.addSource(ystImage);
            pb.add(new int[]{0});
            RenderedOp y = JAI.create("bandselect", pb, JAIContext.noCacheHint);

            pb = new ParameterBlock();
            pb.addSource(ystImage);
            pb.add(new int[]{1, 2});
            // NOTE: we cache this because the median filter is an area op that gets its input multiple times
            RenderedOp cc = JAI.create("bandselect", pb, null);

            RenderingHints mfHints = new RenderingHints(JAI.KEY_BORDER_EXTENDER, BorderExtender.createInstance(BorderExtender.BORDER_COPY));
            mfHints.add(JAIContext.noCacheHint);
            pb = new ParameterBlock();
            pb.addSource(cc);
            pb.add(MedianFilterDescriptor.MEDIAN_MASK_SQUARE); // X Shape seems to give the least artifacts
            pb.add(new Integer(Math.max(2 * (int) (denoiseLevel * scale) + 1, 3)));
            denoiser = JAI.create("MedianFilter", pb, mfHints);

            RenderingHints layoutHints = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, Functions.getImageLayout(ystImage));
            pb = new ParameterBlock();
            pb.addSource(y);
            pb.addSource(denoiser);
            layoutHints.add(JAIContext.noCacheHint);
            RenderedOp denoisedyst = JAI.create("BandMerge", pb, layoutHints);

            pb = new ParameterBlock();
            pb.addSource( denoisedyst );
            pb.add( yst2rgb );
            return JAI.create("BandCombine", pb, JAIContext.noCacheHint);
        }
View Full Code Here

                ColorScience.LinearTransform transform = new ColorScience.YST();

                double[][] rgb2llab = transform.fromRGB(back.getSampleModel().getDataType());
                double[][] llab2rgb = transform.toRGB(back.getSampleModel().getDataType());

                ParameterBlock pb = new ParameterBlock();
                pb.addSource( front );
                pb.add( rgb2llab );
                PlanarImage ystImage = JAI.create("BandCombine", pb, null);

                pb = new ParameterBlock();
                pb.addSource(ystImage);
                pb.add(color_noise * scale);
                pb.add(0.02f + 0.001f * color_noise);
                ystImage = JAI.create("BilateralFilter", pb, mfHints);

                pb = new ParameterBlock();
                pb.addSource( ystImage );
                pb.add( llab2rgb );
                front = JAI.create("BandCombine", pb, null);
                front.setProperty(JAIContext.PERSISTENT_CACHE_TAG, Boolean.TRUE);
            }

            return front;
View Full Code Here

TOP

Related Classes of java.awt.image.renderable.ParameterBlock

Copyright © 2018 www.massapicom. 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.