Package com.pixelmed.apps

# Class IntegerScalingOfFloatingPointPixelData

java.lang.Object
com.pixelmed.apps.IntegerScalingOfFloatingPointPixelData

public class IntegerScalingOfFloatingPointPixelData extends Object

A class of static methods to interconvert floating point pixel data to scaled integer values.

## Constructor Summary

Constructors
Constructor
Description
`IntegerScalingOfFloatingPointPixelData()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`main(String[] arg)`
Read a DICOM image input format file and convert floating point pixel data to scaled or truncated integer values or vice versa.
`static void`
`performIntegerScaling(String inputFileName, String outputFileName, boolean truncate)`
Read a DICOM image with grayscale floating point PixelData and either scales it to integer values sufficient to represent the dynamic range or trunctates the floating point values to unsigned short integers.
`static void`
`reportOnRoundTrip(double input, double slope, double intercept, String message)`
`static void`
`reverseIntegerScaling(String inputFileName, String outputFileName, boolean toDouble)`
Read a DICOM image with grayscale integer PixelData and scale it to single or double length floating point values based on the Rescale Slope and Intercept.

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### IntegerScalingOfFloatingPointPixelData

public IntegerScalingOfFloatingPointPixelData()

## Method Details

### reportOnRoundTrip

public static void reportOnRoundTrip(double input, double slope, double intercept, String message)

### performIntegerScaling

public static void performIntegerScaling(String inputFileName, String outputFileName, boolean truncate) throws DicomException, FileNotFoundException, IOException

Read a DICOM image with grayscale floating point PixelData and either scales it to integer values sufficient to represent the dynamic range or trunctates the floating point values to unsigned short integers.

The dynamic range of the input is mapped to the full range of the short unsigned integer output pixel values (0 to 65535)

The scaling values are recorded in Rescale Slope and Intercept.

Parameters:
  `inputFileName` - the input file name
  `outputFileName` - the output file name
  `truncate` - truncate the floating point pixel values rather than scaling them to the maximum dynamic range
Throws:
  `DicomException`
  `FileNotFoundException`
  `IOException`

### reverseIntegerScaling

public static void reverseIntegerScaling(String inputFileName, String outputFileName, boolean toDouble) throws DicomException, FileNotFoundException, IOException

Read a DICOM image with grayscale integer PixelData and scale it to single or double length floating point values based on the Rescale Slope and Intercept.

Parameters:
  `inputFileName` - the input file name
  `outputFileName` - the output file name
  `toDouble` - if true make double else float pixel values
Throws:
  `DicomException`
  `FileNotFoundException`
  `IOException`

### main

public static void main(String[] arg)

Read a DICOM image input format file and convert floating point pixel data to scaled or truncated integer values or vice versa.

Parameters:
  `arg` - two or three parameters, an optional direction argument (toFloat|toInt|toIntTruncate, case insensitive, defaults to toInt), the inputFile, and the outputFile