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