/** * Perform contrast enhancement on one channel and copy the result to a RasterData object. * * @param newData * RasterData output container * @param rasutil * channel data source * @param inIndex * input channel index * @param outIndex * output channel index * @param enhancement * ContrastEnhancement to perform * @return modified RasterData container */ private RasterData setEnhancedChannelData( RasterData newData, RasterDataUtility rasutil, int inIndex, int outIndex, ContrastEnhancement enhancement ) { int i = 0, j = 0, val = 0, cols = newData.getColumns(), rows = newData.getRows(); rasutil.setContrastEnhancement( enhancement ); if ( enhancement != null ) { LOG.trace( "Using gamma {} for channel '{}'...", enhancement.gamma, inIndex ); } for ( i = 0; i < cols; i++ ) for ( j = 0; j < rows; j++ ) { val = (int) rasutil.getEnhanced( i, j, inIndex ); newData.setByteSample( i, j, outIndex, int2byte( val ) ); } return newData; }