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
     
  • 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