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... |
BRISC::Core::LIDCNodule::LIDCNodule | ( | XmlElement | el | ) | [inline] |
Create a nodule structure from an XML element.
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.
originalPixelData | Two-dimensional integer pixel data | |
minX | Left boundary | |
maxX | Right boundary | |
minY | Top boundary | |
maxY | Bottom boundary |
XmlElement BRISC::Core::LIDCNodule::createXMLTextElement | ( | XmlDocument | doc, | |
string | name, | |||
string | value | |||
) | [inline, private] |
Generates an XML element object with the specified subelement.
doc | Target XML document | |
name | Desired element name | |
value | Desired element value |
bool BRISC::Core::LIDCNodule::Equals | ( | LIDCNodule | n | ) | [inline] |
Compares two LIDCNodule objects.
n | Comparison nodule |
void BRISC::Core::LIDCNodule::FromXML | ( | XmlElement | el | ) | [inline] |
Read nodule data from an XML element.
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.
string BRISC::Core::LIDCNodule::GetOriginalDICOMFilename | ( | ) | [inline] |
Builds the filename of the corresponding original DICOM image.
string BRISC::Core::LIDCNodule::GetSegmentedDICOMFilename | ( | ) | [inline] |
Builds the filename of the corresponding DICOM segmented nodule image.
double [,][] BRISC::Core::LIDCNodule::getSmallGaborHist | ( | int | divBy | ) | [inline, private] |
Bins the Gabor histogram in to a smaller histogram.
divBy | Number to divide the origional histogram by. Must be a power of two, anything else returns null |
double [][] BRISC::Core::LIDCNodule::getSmallMarkovHist | ( | int | divBy | ) | [inline, private] |
Bins the Markov histogram in to a smaller histogram.
divBy | Number to divide the origional histogram by. Must be a power of two, anything else returns null |
string BRISC::Core::LIDCNodule::getXMLTextElement | ( | XmlElement | el, | |
string | name | |||
) | [inline, private] |
Reads a value from an XML element.
el | Parent XML element to read | |
name | Name of desired element |
void BRISC::Core::LIDCNodule::Merge | ( | LIDCNodule | n | ) | [inline] |
Merges in secondary data from another node that doesn't exist in this node.
n | Node with additional data |
XmlElement BRISC::Core::LIDCNodule::ToXML | ( | XmlDocument | doc | ) | [inline] |
Save nodule data to an XML element.
doc | Target XML document |