code: public ColorImg scaleRGBToUnitRange(){
  		double min=Math.min(getMinValue(channel_r), Math.min(getMinValue(channel_g), getMinValue(channel_b)));
  		double max=Math.max(getMaxValue(channel_r), Math.max(getMaxValue(channel_g), getMaxValue(channel_b)));
  		if(min != max){
  			forEach(px->px.convertRange(min,max, 0,1));
  		} else {
  			fill(channel_r, 0);
  			fill(channel_g, 0);
  			fill(channel_b, 0);
  		}
  		return this;
  	}
docs: Scales all values of the R,G and B channel to unit range [0,1].
  This means that the values are shifted and scaled (proportionally) to fit in unit range.
  It is a 1-dimensional affine transform from the current value range [min,max] to [0,1].
  If all values are the same (min=max), the channels are set to 0.
  <br><b>The global minimum and maximum of RGB are considered, channels are not treated seperately.</b>
  This is NOT equal to {@code scaleChannelToUnitRange(channel_r).scaleChannelToUnitRange(channel_g).scaleChannelToUnitRange(channel_b);}
  @return this for chaining
  
  @see #scaleChannelToUnitRange(int)