Class JDialogProstateLearnFromFailure64TrainingCase

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
gov.nih.mipav.view.dialogs.JDialogBase
gov.nih.mipav.view.renderer.WildMagic.ProstateFramework.JDialogProstateLearnFromFailure64TrainingCase
All Implemented Interfaces:
AlgorithmInterface, DialogDefaultsInterface, ActionListener, FocusListener, ItemListener, WindowListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class JDialogProstateLearnFromFailure64TrainingCase extends JDialogBase implements AlgorithmInterface
This class convert the 3D images to 2D slices based atlas. Users specify the 3D prostate images dir, and output 2D slices based dir, the algorithm auto convert each 3D image to 2D slices with corresponding VOIs. Each saved VOIs is 2-contour based VOI, which is used to build the Active Appearance Model (AAM).
Author:
Ruida Cheng
See Also:
  • Field Details

  • Constructor Details

    • JDialogProstateLearnFromFailure64TrainingCase

      public JDialogProstateLearnFromFailure64TrainingCase(Frame theParentFrame)
      Constructor.
      Parameters:
      theParentFrame -
  • Method Details

    • disposeLocal

      public void disposeLocal()
      dispose memory
    • actionPerformed

      public void actionPerformed(ActionEvent event)
      Dialog local handler.
      Specified by:
      actionPerformed in interface ActionListener
      Overrides:
      actionPerformed in class JDialogBase
    • recordSaveImageDir

      private void recordSaveImageDir()
      Let user specify the saved 2D slices atlas, record the save directory.
    • readKeyImageDir

      private void readKeyImageDir()
      Read 3D images atlas directory.
    • printImages

      public void printImages()
      Debugger for test the image and VOis reading.
    • traverse

      private void traverse(File dir)
      Recursively traverse the image directory.
      Parameters:
      dir - image dir.
    • traverseCurrent

      private void traverseCurrent(File dir)
    • traverseLevel1

      private void traverseLevel1(File dir, int index)
    • pause

      public static void pause()
      Pauses the display until the user hits enter.
    • initTable

      private void initTable()
    • processDirLevel1

      private void processDirLevel1(File dir, int i)
    • extractTable

      void extractTable()
    • processDirSingleImage

      private void processDirSingleImage(File dir)
      Process the dir, read image and corresponding VOI file names.
      Parameters:
      dir - 3D atlas image dir.
    • algorithmPerformed

      public void algorithmPerformed(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithms when it has completed or failed to to complete, so that the dialog can be display the result image and/or clean up.
      Specified by:
      algorithmPerformed in interface AlgorithmInterface
      Parameters:
      algorithm - Algorithm that caused the event.
    • callAlgorithm

      public void callAlgorithm()
      Driver function to read image and VOIs, and convert each 3D image to 2D slices.
    • createTestingPatches

      public void createTestingPatches()
    • scaleDown

      private void scaleDown(ModelImage image)
    • createTrainingPatches

      public void createTrainingPatches()
    • testingPatches

      public void testingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train, BufferedWriter outStream)
    • trainingPatches

      public void trainingPatches(ModelImage keyImage, int i, int startSliceIndex, int endSliceIndex, float minIntensity, float maxIntensity, boolean train)
    • saveImages

      public void saveImages()
      Save the 2D slices and VOIs to user specified dir.
    • rotateToStartingPoint_yMid

      private void rotateToStartingPoint_yMid(float[] xPts, float[] yPts, int xDim, int yDim)
      Re-oriented the starting and ending VOIs.
      Parameters:
      xPts - voi x coordinate
      yPts - voi y coordinate
      xDim - image x dimension
      yDim - image y dimension
    • rotateToStartingPoint_leftMost

      private void rotateToStartingPoint_leftMost(float[] xPts, float[] yPts, int xDim, int yDim)
    • smoothVOI30

      public void smoothVOI30(ModelImage maskImage, ModelImage resultImage)
    • smoothVOI60

      public void smoothVOI60(ModelImage maskImage, ModelImage resultImage)
      Smooth VOIs to 60 points.
      Parameters:
      maskImage -
      resultImage -
    • smoothVOI128

      public void smoothVOI128(ModelImage maskImage, ModelImage resultImage)
    • generateBoundaryContours

      private void generateBoundaryContours(VOIBase srcContour, ModelImage targetImageSlice)
      Convert VOI from one contour to two contours
      Parameters:
      srcContour - single VOI contour
      targetImageSlice - target 2D image slice
    • cropKeyImages

      public void cropKeyImages()
      Crop key images.
    • loadFiles

      public void loadFiles()
      load image files and voi files
    • deleteDir

      public static boolean deleteDir(File dir)
      Debugger to test dir deletion.
      Parameters:
      dir -
      Returns:
    • readFiles

      public void readFiles()
      Read image and VOIs file names.
    • init

      public void init()
      Initial panel
    • buildKeyImagePanel

      public void buildKeyImagePanel()
      Panel contains both the 3D image dir and saved 2D slices atlas dir.