Revision 2147 branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/io/raster/ComputeMinMaxImageFilter.java

View differences:

ComputeMinMaxImageFilter.java
26 26
		super.pre();
27 27
	}
28 28
	
29
	public void process(int x, int y) {
29
	public void process(int x, int y){
30 30
		int px = ((BufferedImage) image).getRGB(x,y);
31
		min[0] = Math.min(min[0], (px & 0xff0000) >> 16);
32
		max[0] = Math.max(max[0], (px & 0xff0000) >> 16);
33
		min[1] = Math.min(min[1], (px & 0x00ff00) >> 8);
34
		max[1] = Math.max(max[1], (px & 0x00ff00) >> 8);
35
		min[2] = Math.min(min[2], (px & 0x0000ff));
36
		max[2] = Math.max(max[2], (px & 0x0000ff));
31
		
32
		int pxBand = ((px & 0xff0000) >> 16); 
33
		if(pxBand<min[0]){
34
			secondMin[0] = min[0];
35
			min[0] = pxBand;
36
		}else if(pxBand < secondMin[0] && pxBand!=min[0])
37
			secondMin[0] = pxBand;
38
			
39
		if(pxBand>max[0]){
40
			secondMax[0] = max[0];
41
			max[0] = pxBand;
42
		}else if(pxBand > secondMax[0] && pxBand!=max[0])
43
			secondMax[0] = pxBand;
44
		
45
		pxBand = ((px & 0x00ff00) >> 8); 
46
		if(pxBand<min[1]){
47
			secondMin[1] = min[1];
48
			min[1] = pxBand;
49
		}else if(pxBand < secondMin[1] && pxBand!=min[1])
50
			secondMin[1] = pxBand;
51
		
52
		if(pxBand>max[1]){
53
			secondMax[1] = max[1];
54
			max[1] = pxBand;
55
		}else if(pxBand > secondMax[1] && pxBand!=max[1])
56
			secondMax[1] = pxBand;
57
		
58
		pxBand = (px & 0x0000ff);
59
		if(pxBand<min[2]){
60
			secondMin[2] = min[2];
61
			min[2] = pxBand;
62
		}else if(pxBand < secondMin[2] && pxBand!=min[2])
63
			secondMin[2] = pxBand;
64
		
65
		if(pxBand>max[2]){
66
			secondMax[2] = max[2];
67
			max[2] = pxBand;
68
		}else if(pxBand > secondMax[2] && pxBand!=max[2])
69
			secondMax[2] = pxBand;
37 70
	}
38 71
	
39 72
	public int getInRasterDataType(){

Also available in: Unified diff