BRISC::Core::LIDCNodule Class Reference

Represents a LIDC database nodule. More...

List of all members.

Public Member Functions

 LIDCNodule ()
 Create a new, blank nodule structure.
 LIDCNodule (XmlElement el)
 Create a nodule structure from an XML element.
 LIDCNodule (int[,] originalPixelData, int minX, int maxX, int minY, int maxY)
 Create a nodule structure from raw original pixel data.
void FromXML (XmlElement el)
 Read nodule data from an XML element.
XmlElement ToXML (XmlDocument doc)
 Save nodule data to an XML element.
bool Equals (LIDCNodule n)
 Compares two LIDCNodule objects.
void Merge (LIDCNodule n)
 Merges in secondary data from another node that doesn't exist in this node.
string GetSegmentedDICOMFilename ()
 Builds the filename of the corresponding DICOM segmented nodule image.
string GetOriginalDICOMFilename ()
 Builds the filename of the corresponding original DICOM image.
PhysicalSize GetActualSize ()
 Reads the DICOM pixel spacing property and calculates the nodule's actual height and width in millimeters.
void CalculateCentroid ()
 Calculate the nodule centroid (point data must be loaded).
void PurgePixelData ()
 De-allocate pixel data from memory.

Public Attributes

int NUID
 Unique nodule ID (assigned in constructor -- will NEVER be the same for two different LIDCNodule objects!).
string MdbPK
 Primary key value from Ekarin's Access database file (not used - DEPRECATED).
string StudyInstanceUID
 Study ID number from DICOM files.
string SeriesInstanceUID
 Series ID number from DICOM files.
string NoduleID
 Nodule ID number from XML annotation (unique nodule, physician, series).
string Nodule_no
 Nodule number -- identifies the same nodule from different slices and/or physicians (computed by Ekarin using centroid comparison).
string ImageSOP_UID
 Image ID number from DICOM files.
int MinX
 Left boundary of nodule with respect to the original DICOM file dimensions.
int MaxX
 Right boundary of nodule with respect to the original DICOM file dimensions.
int MinY
 Top boundary of nodule with respect to the original DICOM file dimensions.
int MaxY
 Bottom boundary of nodule with respect to the original DICOM file dimensions.
string Slice
 CT slice number (last number in imageSOP_UID).
int CentroidX
 X-coordinate of nodule centroid.
int CentroidY
 Y-coordinate of nodule centroid.
int Width
 Nodule width (maxX - minX) in pixels.
int Height
 Nodule height (maxY - minY) in pixels.
double ActualWidth = double.NaN
 Physical width in millimeters.
double ActualHeight = double.NaN
 Physical height in millimeters.
double Temp_dist
 Temporary variable used for storing distance from query images while running a query.
double Temp_adist
 Temporary variable used for storing annotation distance from query images while running a query.
Dictionary< string, double > Haralick
 Haralick data as dictionary with feature name-value pairs.

Properties

double[,][] GaborHist [get, set]
 Accessor for gaborHist. Can re-bin histogram based on public field GaborHistDivBy.
int gaborHistDivBy = 0 []
 How much to divide the histogram by.
int GaborHistDivBy [get, set]
 Accessor for gaborHistDivBy. Verifies that the value is a power of two.
double[,] GaborMean = null []
 Mean Gabor response.
double[,] GaborStdDev = null []
 Standard deviation of Gabor responses.
double[][] markovHist = null []
 Markov data.
double[][] markovHistResized = null []
 Resized histogram. It is here for optimization. Since we will probably access the histogram multiple times before resizing it, there is no need to recompute it each time -- just store it in here.
double[][] MarkovHist [get, set]
 Accessor for the Markov histogram. Used to resize the histogram.
int markovHistDivBy = 0 []
 How much to divide the histogram by.
int MarkovHistDivBy [get, set]
 Accessor for the Markov histogram divisor.
double[] MarkovMean = null []
 Mean of the Markov data.
double[] MarkovStd = null []
 Standard deviation of the Markov data.
Dictionary< string, int > Annotations []
 Annotation data as dictionary with annotation name-value pairs.
List< Point > Points []
 Nodule contour data as list of points.
int[,] segmentedPixelData []
 Raw DICOM pixel data (segmented - pixels outside the boundary contain the value Util.BG_VALUE).
int[,] originalPixelData []
 Raw DICOM pixel data (full image).
string OriginalDICOMFilename []
 Filename (relative to Util.DATA_PATH) for original DICOM image.
int[,] SegmentedPixelData [get]
 Returns the extracted DICOM pixel data (pixels outside the boundary contain the value Util.BG_VALUE).
int[,] OriginalPixelData [get]
 Returns the original DICOM pixel data.
static bool SAVE_XML_PRIMARY = true []
 Whether to save primary data (series, noduleID, etc.) when exporting to XML.
static bool SAVE_XML_BOUNDS = false []
 Whether to save min/max pixel boundary data when exporting to XML.
static bool SAVE_XML_ANNOTATIONS = false []
 Whether to save annotation data when exporting to XML.
static bool SAVE_XML_HARALICK = false []
 Whether to save haralick data when exporting to XML.
static bool SAVE_XML_GABOR = false []
 Whether to save Gabor data when exporting to XML.
static bool SAVE_XML_MARKOV = false []
 Whether to save Markov data when exporting to XML.
static bool SAVE_XML_POINTS = false []
 Whether to save point data when exporting to XML.

Private Member Functions

double[,][] getSmallGaborHist (int divBy)
 Bins the Gabor histogram in to a smaller histogram.
double[][] getSmallMarkovHist (int divBy)
 Bins the Markov histogram in to a smaller histogram.
string getXMLTextElement (XmlElement el, string name)
 Reads a value from an XML element.
XmlElement createXMLTextElement (XmlDocument doc, string name, string value)
 Generates an XML element object with the specified subelement.

Private Attributes

double[,][] gaborHist = null
 Two dimensional array of Gabor response histograms (orientation x scale).
double[,][] gaborHistResized = null
 Resized histogram. It is here for optimization. Since we will probably access the histogram multiple times before resizing it, there is no need to recompute it each time -- just store it in here.

Static Private Attributes

static int nextNUID = 0
 Used to assign each nodule a unique number.

Classes

struct  PhysicalSize
 Structure for representing the physical size of a nodule. More...


Detailed Description

Represents a LIDC database nodule.


Constructor & Destructor Documentation

BRISC::Core::LIDCNodule::LIDCNodule ( XmlElement  el  )  [inline]

Create a nodule structure from an XML element.

Parameters:
el Element to parse

BRISC::Core::LIDCNodule::LIDCNodule ( int  originalPixelData[,],
int  minX,
int  maxX,
int  minY,
int  maxY 
) [inline]

Create a nodule structure from raw original pixel data.

Parameters:
originalPixelData Two-dimensional integer pixel data
minX Left boundary
maxX Right boundary
minY Top boundary
maxY Bottom boundary


Member Function Documentation

XmlElement BRISC::Core::LIDCNodule::createXMLTextElement ( XmlDocument  doc,
string  name,
string  value 
) [inline, private]

Generates an XML element object with the specified subelement.

Parameters:
doc Target XML document
name Desired element name
value Desired element value
Returns:
Created XML object

bool BRISC::Core::LIDCNodule::Equals ( LIDCNodule  n  )  [inline]

Compares two LIDCNodule objects.

Parameters:
n Comparison nodule
Returns:
True if the series, slice and node IDs match, false otherwise

void BRISC::Core::LIDCNodule::FromXML ( XmlElement  el  )  [inline]

Read nodule data from an XML element.

Parameters:
el Element to parse

PhysicalSize BRISC::Core::LIDCNodule::GetActualSize (  )  [inline]

Reads the DICOM pixel spacing property and calculates the nodule's actual height and width in millimeters.

Returns:
Physical size of nodule in mm

string BRISC::Core::LIDCNodule::GetOriginalDICOMFilename (  )  [inline]

Builds the filename of the corresponding original DICOM image.

Returns:
Filename (.dcm extension, no path included)

string BRISC::Core::LIDCNodule::GetSegmentedDICOMFilename (  )  [inline]

Builds the filename of the corresponding DICOM segmented nodule image.

Returns:
Filename (.dcm extension, no path included)

double [,][] BRISC::Core::LIDCNodule::getSmallGaborHist ( int  divBy  )  [inline, private]

Bins the Gabor histogram in to a smaller histogram.

Parameters:
divBy Number to divide the origional histogram by. Must be a power of two, anything else returns null
Returns:
Smaller histogram

double [][] BRISC::Core::LIDCNodule::getSmallMarkovHist ( int  divBy  )  [inline, private]

Bins the Markov histogram in to a smaller histogram.

Parameters:
divBy Number to divide the origional histogram by. Must be a power of two, anything else returns null
Returns:
Smaller histogram

string BRISC::Core::LIDCNodule::getXMLTextElement ( XmlElement  el,
string  name 
) [inline, private]

Reads a value from an XML element.

Parameters:
el Parent XML element to read
name Name of desired element
Returns:
Value of the desired element

void BRISC::Core::LIDCNodule::Merge ( LIDCNodule  n  )  [inline]

Merges in secondary data from another node that doesn't exist in this node.

Parameters:
n Node with additional data

XmlElement BRISC::Core::LIDCNodule::ToXML ( XmlDocument  doc  )  [inline]

Save nodule data to an XML element.

Parameters:
doc Target XML document
Returns:
XML element representation of the nodule data


The documentation for this class was generated from the following file:
Generated on Wed Aug 16 17:13:32 2006 by  doxygen 1.4.7