Output data storage type BYTE is a special case. If scaling is requested, then the input image is scaled, and then clipped to the range [0..255] before output. If normalization is requested, the data is offset adjusted and scaled to map onto the range [0..255] before output.
Normalization for other output types simply scales the data so that the most positive data value is equal to the normalization target. No offset adjustment is performed. If the most positive value in the image is zero then a zero valued image of the desired data type will be produced.
When converting from type BIT to type BYTE, the output values will be 0 or 255 depending on whether the bit corresponding to the input pixel is 0 or 1. For conversions from BIT to any type other than BYTE, the output value receives either 0 or 1 depending on the input bit value. This was done so that an BYTE image would be displayable immediately after conversion from type BIT.
Use of the -b option is important when trying to normalize a multiband or vector image. If -b false is used, then the largest value of any vector component in the image is used to compute the normalization multiplier. If -b true is used, then a different normalization multiplier is used for each band, as dictated by the data in that band.
Mutually Exclusive Group; if desired, specify ONE of:
OR
vconvert -i image:moon -s 3.14 -t float -o blah.xvmultiplies "image:moon" by pi then outputs it as a VFF_TYP_FLOAT image.
There needs to be a way to specify the conversion from a COMPLEX type to a non-COMPLEX type to be either the real part or the magnitude (the current version does the real part only).