EM-MPM User Manual

Introduction

The segmentation algorithm used in the R3DImageTools software package is based off the Expectation-Maximization/Maximization of the Posterior Marginals (EM/MPM) algorithm. The algorithm can be further explained in the following paper:
[1]	M. L. Comer and E. J. Delp, “The EM/MPM Algorithms for Segmentation of Textured Image: 
Analysis and Further Experimental Results,” IEEE Trans. Image Process., 9(10):1731-1744, Oct. 2000. 
The algorithm works on a "Texture" basis for images. The algorithm attempts to detect different textures and assigns each texture a class. These classes can then be used to segment the image. The algorithm requires 5 input parameters: Also note that you have a-priori knowledge of how many classes the image will have.

Command Line

The command line version of the Em-MPM segmentation program is invoked using either a terminal (on Unix type systems) or using the "Command Prompt" on Windows. Simply invoking the command line utility with no arguments will produce a message that displays all the necessary arguments.

[mjackson@workstation] $ EmMpm_debug 
Required Parameters:
  --help                   Produce help message
  -i [ --inputfile ] arg   MXA File to be used as input
  -r [ --inRecname ] arg   Name of the Data Record to Segment
  -s [ --sliceStart ] arg  The value of the starting slice to fix
  -f [ --sliceEnd ] arg    The value of the ending slice to fix
  -t [ --numThreads ] arg  Number of Threads to use.
  -l [ --logfile ] arg     Name of the Log file to store any output into
  -R [ --restartfile ] arg Location of the temporary file to initialize from.
  -L [ --listRecords ] arg List the possible Data Model Records for the given MXA file
  -b [ --beta ] arg        Beta Value
  -g [ --gamma ] arg       Gamma Value
  -e [ --emIter ] arg      Number of EM Iterations
  -m [ --mpmIter ] arg     Number of MPM Iterations
  -c [ --numClasses ] arg  The Number of classes or phases in the material
  -o [ --outputfile ] arg  The New MXA Output File
  -u [ --outRecname ] arg  Name of the Segemented Data Record
  -v [ --verbose ]         Verbose Output

Argument Details

-i [--inputfile] This is the complete path to the MXA data file that holds the RoboMet data to be processed.

-r [--recname] You will need to know the name of the MXA Data Record that represents the image that you would like to process. Typically this is "Zeiss Image". You can invoke the PCMRegistration program with the --listRecords argument to obtain a list of the MXA Data Records in the MXA File.

-s [--sliceStart] The first slice of data to export

-e [--sliceEnd] The last slice of data to export

-t [--numThreads] The number of threads to use to process the MXA Data file. Each thread does not require more than a few hundred megabytes of memory to run so you can base that on the number of processors/cores you have available and the amount of ram that is avaiable. During testing 16 threads were usually run by the development team on a machine having 6GB of Ram available.

-l [--logfile] The path to a file to store debugging messages into.

-R [--restartfile] Path to a temporary file that holds intermediate data. This can help debug if something goes wrong during the process. The file is written in binary so computer codes would need to be written to parse the file.

-L [--listRecords] Returns a list of the MXA Data Records in the MXA File.

-b [ --beta] The Beta parameter for the EM-MPM algorithm

-g [ --gamma] The Gamma parameter for the EM-MPM algorithm

-e [ --emIter] The number of EM iterations for the EM-MPM algorithm

-m [ --mpmIter] The number of MPM iterations for the EM-MPM algorithm

-c [ --numClasses] The final number of classes that the image will be segmented into.

-o [ --outputFile] The path to the output file. This will be a mirror of the input file except that the Data Record will be the segmented image instead of the aquired grayscale image.

-u [ --outRecname] The name of the Data Record for the segmented image. Typically 'EM-MPM Image'

-v [--verbose] Determines how many debugging messages are written to the log file

GUI Application

To use the GUI version of the R3DEmMpm double click the R3DEmMpm.exe (Windows), R3DEmMpm.app (OS X) or R3DEmMpm (Linux).

R3DEmMpm.jpg

The R3DEmMpm GUI Application

Simply fill out the text fields and use the buttons to select the various outputs. When you are ready to process your data, click the "Segment" button and wait for the process to complete. You may click cancel at any time during the alignment process.
Generated on Fri Aug 28 14:04:33 2009 for R3DImageTools by  doxygen 1.5.2