1 /* Copyright (C) 2005-2011 Fabio Riccardi */
2 
3 package com.lightcrafts.jai.opimage;
4 
5 import com.lightcrafts.media.jai.opimage.RIFUtil;
6 
7 import com.lightcrafts.mediax.jai.ImageLayout;
8 import com.lightcrafts.mediax.jai.BorderExtender;
9 import java.awt.image.RenderedImage;
10 import java.awt.image.renderable.ParameterBlock;
11 import java.awt.image.renderable.RenderedImageFactory;
12 import java.awt.*;
13 
14 /**
15  * Created by IntelliJ IDEA.
16  * User: fabio
17  * Date: Jul 30, 2006
18  * Time: 10:57:04 PM
19  * To change this template use File | Settings | File Templates.
20  */
21 public class BilateralFilterRIF implements RenderedImageFactory {
create(ParameterBlock paramBlock, RenderingHints renderHints)22     public RenderedImage create(ParameterBlock paramBlock,
23                                 RenderingHints renderHints) {
24         // Get ImageLayout from renderHints if any.
25         ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
26 
27         // Get BorderExtender from renderHints if any.
28         BorderExtender extender = RIFUtil.getBorderExtenderHint(renderHints);
29 
30         float sigma_d = paramBlock.getFloatParameter(0);
31         float sigma_r = paramBlock.getFloatParameter(1);
32 
33         return new BilateralFilterOpImage(paramBlock.getRenderedSource(0),
34                                                    extender,
35                                                    renderHints,
36                                                    layout,
37                                                    sigma_d, sigma_r);
38     }
39 }
40