Statistics
| Revision:

gvsig-raster / org.gvsig.raster / trunk / org.gvsig.raster / org.gvsig.raster.lib / org.gvsig.raster.lib.api / src / main / java / org / gvsig / fmap / dal / coverage / filter / FilterLoader.java @ 2438

History | View | Annotate | Download (1.5 KB)

1
package org.gvsig.fmap.dal.coverage.filter;
2

    
3
import java.util.List;
4

    
5
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
6
import org.gvsig.fmap.dal.coverage.store.props.HistogramComputer;
7
import org.gvsig.fmap.dal.coverage.store.props.Statistics;
8
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
9
import org.gvsig.raster.roi.ROI;
10

    
11
/**
12
 * <P>
13
 * Applies the stack of filters to a buffer. With the same <code>FilterLoader</code>
14
 * you can process different buffers. Each buffer can use a different environment
15
 * </P>
16
 *
17
 * @author Nacho Brodin (nachobrodin@gmail.com)
18
 */
19
public interface FilterLoader {
20
        public void addTransparency(Transparency transparency);
21
        public void addSrcDataType(int datatype);
22
        public void addSrcBandCount(int bandcount);
23
        public void addSrcStatistics(Statistics statistics);
24
        public void addSrcROI(List<ROI> roi);
25
        public void addSrcHistogram(HistogramComputer histogram);
26
        public Buffer applyFilters(Buffer buffer);
27
        
28
        /**
29
         * Gets the transparency object and the color interpretation of the result. 
30
         * Mostly, filters returns ARGB images but sometimes the filter can modify 
31
         * the transparency configuration and the color interpretation.
32
         * For instance, when a color table is applied or a alpha band is added 
33
         * by the filter.
34
         * @return
35
         */
36
        public Transparency getTransparency();
37
        
38
        /**
39
         * Gets the buffer result after the function applyFilters is executed.
40
         * If the buffer has not been modified, it will return the input buffer.
41
         * @return
42
         */
43
        public Buffer getBufferResult();
44
}