Class SuperimposedImage

java.lang.Object
com.pixelmed.display.SuperimposedImage
Direct Known Subclasses:
SuperimposedDicomImage

public class SuperimposedImage extends Object

A class that supports matching the geometry of a superimposed image and an underlying images, and creating BufferedImages suitable for drawing on an underlying image.

See Also:
  • Field Details

    • DEFAULT_CLOSEST_SLICE_TOLERANCE_DISTANCE

      public static final double DEFAULT_CLOSEST_SLICE_TOLERANCE_DISTANCE
      See Also:
    • superimposedSourceImage

      protected SourceImage superimposedSourceImage
    • superimposedGeometry

      protected GeometryOfVolume superimposedGeometry
    • cieLabScaled

      protected int[] cieLabScaled
  • Constructor Details

    • SuperimposedImage

      protected SuperimposedImage()
    • SuperimposedImage

      public SuperimposedImage(SourceImage superimposedSourceImage, GeometryOfVolume superimposedGeometry, int[] cieLabScaled)
      Parameters:
      superimposedSourceImage -
      superimposedGeometry -
      cieLabScaled -
    • SuperimposedImage

      public SuperimposedImage(SourceImage superimposedSourceImage, GeometryOfVolume superimposedGeometry)
      Parameters:
      superimposedSourceImage -
      superimposedGeometry -
  • Method Details

    • isSliceCloseEnoughToSuperimpose

      public static boolean isSliceCloseEnoughToSuperimpose(GeometryOfSlice geometryOfSuperimposedSlice, GeometryOfSlice geometryOfUnderlyingSlice, double toleranceDistance)

      Is the superimposed slice close enough to the underlying slice to superimpose?

      Parameters:
      geometryOfSuperimposedSlice -
      geometryOfUnderlyingSlice -
      toleranceDistance - difference in distance along normal to orientation for underlying and superimposed frames to be close enough to superimpose, in mm
    • isSliceCloseEnoughToSuperimpose

      public static boolean isSliceCloseEnoughToSuperimpose(GeometryOfSlice geometryOfSuperimposedSlice, GeometryOfSlice geometryOfUnderlyingSlice)

      Is the superimposed slice close enough to the underlying slice to superimpose?

      Assumes a default tolerance factor that is close to zero but allows for floating point rounding error.

      Parameters:
      geometryOfSuperimposedSlice -
      geometryOfUnderlyingSlice -
    • getAppliedToUnderlyingImage

      public SuperimposedImage.AppliedToUnderlyingImage getAppliedToUnderlyingImage(GeometryOfVolume underlyingGeometry, int underlyingFrame, double toleranceDistance)
      Parameters:
      underlyingGeometry -
      underlyingFrame - numbered from 0
      toleranceDistance - difference in distance along normal to orientation for underlying and superimposed frames to be close enough to superimpose, in mm
      Returns:
      an instance of AppliedToUnderlyingImage, which will contain a BufferedImage if a superimposed frame that is close enough can be found
    • getAppliedToUnderlyingImage

      public SuperimposedImage.AppliedToUnderlyingImage getAppliedToUnderlyingImage(GeometryOfVolume underlyingGeometry, int underlyingFrame)
      Parameters:
      underlyingGeometry -
      underlyingFrame - numbered from 0
      Returns:
      an instance of AppliedToUnderlyingImage, which will contain a BufferedImage if a superimposed frame that is close enough can be found
    • getIntegerScaledCIELabPCS

      public int[] getIntegerScaledCIELabPCS()