RotationRegistration Class Reference

#include <R3D/ImageProcessing/Registration/RotationRegistration.h>

List of all members.


Detailed Description

This is the master controller for the Rotation Registration process.

This will find the best fit of the fixed and moving images by considering only a rotation around a fixed point which is calculated as then center of the intersected areas of the fixed and moving images.

Author:
Michael A. Jackson for BlueQuartz Software
Date:
Jan 13, 2009
Version:
Revision
1.1


Public Member Functions

 RotationRegistration (const std::string &mxaFileName, const std::string &dataRecordName, const std::string &logFilename, int maxThreads, int sliceStart, int sliceEnd)
 Constructor.
virtual void run ()
 Main entry point for the Rotation Registration.
void setDebug (bool dbg)
 Sets a flag so that more detailed process information is output.
virtual void setSliceBoundaries (int sliceStart, int sliceEnd)
 Sets the starting and ending (inclusive) indices of the slices to aligned.
virtual RotationRegistrationTable::Pointer createNewRegistrationTable (IDataFile::Pointer dataFile)
 Method will initialize a new Hint Table object.
virtual void updateRegistrationTable (IDataFile::Pointer dataFile, RotationRegistrationTable::Pointer table)
 Updates a StitchDataTable with newly initialized StitchData pointers for slices that were not found in an existing file.
virtual void threadIsComplete (RotationRegistrationThread *thread, RotationRegistrationData::Pointer stitcherData)
 Called when a thread has completed its operations.
virtual int readImageData (RotationRegistrationData::Pointer regData, unsigned char *&fxImageData, unsigned char *&mvImageData)
 Reads the image data from an HDF5/MXA file.
virtual void debugOutput (const std::string &threadName, const std::string &str)
 Delivers a message to the selected output device.
int getImageInfo (hid_t fileId, const std::string &datasetName, hsize_t *cols, hsize_t *rows, hsize_t *planes, std::string &interlace, hssize_t *npals, std::string &attrValSubclass)
 Gets information about an image stored in an HDF5/MXA file.
std::string getMXAFileName ()
 Returns the name of the mxa file that is being used.
std::string getDataRecordName ()
 returns the name of the DataRecord being used
void setHintTableFileName (const std::string &fn)
 Sets the filename to use for the hint table.
std::string getHintTableFileName ()
 Returns the name of the hint file being used.
RotationRegistrationTable::Pointer getHintTablePtr ()
 Returns the R3DRegistrationStats table that is being used.
RotationRegistrationTable::Pointer initRotationRegistrationTable ()
 Initializes the RotationRegistrationTable Object either from a file or creates a new table from scratch.

Protected Member Functions

int readSliceInfo (R3DSliceInfo::Pointer sliceInfo)
 Reads the slice information from the MXA/HDF5 file.
int writeRotationData (RotationRegistrationData::Pointer regData)
 Writes the newly calculated Rotation Data to the HDF5 file.


Constructor & Destructor Documentation

RotationRegistration::RotationRegistration ( const std::string &  mxaFileName,
const std::string &  dataRecordName,
const std::string &  logFilename,
int  maxThreads,
int  sliceStart,
int  sliceEnd 
)

Constructor.

Parameters:
mxaFileName The path to the MXA Data file holding the data to be registered
dataRecordName The name of the data record to perform the registration on
logFilename The path/name of a file to log debug information into
maxThreads The maximum number of threads to use for the registration
sliceStart The starting slice
sliceEnd The ending slice
Returns:


Member Function Documentation

void RotationRegistration::run (  )  [virtual]

Main entry point for the Rotation Registration.

After all the inputs have been poperly setup then call this method to start the process.

void RotationRegistration::setDebug ( bool  dbg  ) 

Sets a flag so that more detailed process information is output.

Parameters:
dbg True to have more detailed process output delivered to the selected output device.

void RotationRegistration::setSliceBoundaries ( int  sliceStart,
int  sliceEnd 
) [virtual]

Sets the starting and ending (inclusive) indices of the slices to aligned.

Parameters:
sliceStart The starting slice
sliceEnd The ending slice

RotationRegistrationTable::Pointer RotationRegistration::createNewRegistrationTable ( IDataFile::Pointer  dataFile  )  [virtual]

Method will initialize a new Hint Table object.

Parameters:
dataFile The MXA Datafile

void RotationRegistration::updateRegistrationTable ( IDataFile::Pointer  dataFile,
RotationRegistrationTable::Pointer  table 
) [virtual]

Updates a StitchDataTable with newly initialized StitchData pointers for slices that were not found in an existing file.

This can happen if the user asks for a wider slice range than what is stored in the hint file.

Parameters:
dataFile The MXA Data File
table The TileAlignmentTable object

void RotationRegistration::threadIsComplete ( RotationRegistrationThread thread,
RotationRegistrationData::Pointer  stitcherData 
) [virtual]

Called when a thread has completed its operations.

Parameters:
thread The completed Thread
stitcherData The TileAlignmentData pointer

int RotationRegistration::readImageData ( RotationRegistrationData::Pointer  regData,
unsigned char *&  fxImageData,
unsigned char *&  mvImageData 
) [virtual]

Reads the image data from an HDF5/MXA file.

Parameters:
regData The RegistrationData object specific for this class
fxImageData The fixed image data pointer
mvImageData The moving image data pointer
Returns:
Negative value on error

void RotationRegistration::debugOutput ( const std::string &  threadName,
const std::string &  str 
) [virtual]

Delivers a message to the selected output device.

Parameters:
threadName The name of the thread delivering the message
str The message to deliver

int RotationRegistration::getImageInfo ( hid_t  fileId,
const std::string &  datasetName,
hsize_t *  cols,
hsize_t *  rows,
hsize_t *  planes,
std::string &  interlace,
hssize_t *  npals,
std::string &  attrValSubclass 
)

Gets information about an image stored in an HDF5/MXA file.

Parameters:
fileId The HDF5 fileid value
datasetName The path to the data set
cols The number of columns (width) of the image (Output variable)
rows The number of rows (height) of the image (Output variable)
planes The number of color channels in the image (Output variable)
interlace Are the color channels interlaced? (Output variable)
npals The color palette (Output variable)
attrValSubclass The Attribute value subclass to be filled in. (Output variable)
Returns:

std::string RotationRegistration::getMXAFileName (  )  [inline]

Returns the name of the mxa file that is being used.

Returns:

std::string RotationRegistration::getDataRecordName (  )  [inline]

returns the name of the DataRecord being used

Returns:

void RotationRegistration::setHintTableFileName ( const std::string &  fn  )  [inline]

Sets the filename to use for the hint table.

Parameters:
fn The filename for the hint table

std::string RotationRegistration::getHintTableFileName (  )  [inline]

Returns the name of the hint file being used.

Returns:

RotationRegistrationTable::Pointer RotationRegistration::getHintTablePtr (  )  [inline]

Returns the R3DRegistrationStats table that is being used.

Returns:

int RotationRegistration::readSliceInfo ( R3DSliceInfo::Pointer  sliceInfo  )  [protected]

Reads the slice information from the MXA/HDF5 file.

Parameters:
sliceInfo Reads the R3DSliceInfo from the file
Returns:

int RotationRegistration::writeRotationData ( RotationRegistrationData::Pointer  regData  )  [protected]

Writes the newly calculated Rotation Data to the HDF5 file.

Parameters:
regData The RotationRegistrationData object
Returns:


The documentation for this class was generated from the following files:
Generated on Fri Aug 28 14:04:33 2009 for R3DImageTools by  doxygen 1.5.2