BRISC::Core::LIDCNoduleDB Class Reference

A collection of LIDCNodule objects. More...

List of all members.

Public Member Functions

 LIDCNoduleDB ()
 Creates a new, blank database.
 LIDCNoduleDB (string xmlFileName)
 Creates a database from an XML file.
 LIDCNoduleDB (string xmlFileName, System.Windows.Forms.ProgressBar pbar)
 Creates a database from an XML file and displays process status in a progress bar.
void AddNodule (LIDCNodule nodule)
 Adds a nodule to the database (no duplicate checking!) and updates general statistics.
List< LIDCNodule >.Enumerator GetEnumerator ()
 Returns an enumerator that iterates through the nodules in the database.
void LoadFromXML (string xmlFileName)
 Loads nodules from an XML file.
void LoadFromXML (string xmlFileName, bool addNewNodules)
 Loads nodules from an XML file (optionally only merging and not adding new nodules).
void LoadFromXML (string xmlFileName, System.Windows.Forms.ProgressBar pbar)
 Loads nodules from an XML file and displays process status in a progress bar.
void LoadFromXML (string xmlFileName, System.Windows.Forms.ProgressBar pbar, bool addNewNodules)
 Loads nodules from an XML file and displays process status in a progress bar (optionally only merging and not adding new nodules).
void SaveToXML (string xmlFileName)
 Saves all nodule data to an XML file.
int GetNoduleCount (string noduleNumber)
 Counts appearances of a unique nodule (a nodule may appear on multiple slices and/or annotated by multiple physicians.
double[] GetFeatureVector (LIDCNodule nodule, string[] features)
 Builds a feature vector.
double[] GetNormalizedFeatureVector (LIDCNodule nodule, string[] features)
 Builds a normalized feature vector (all values are scaled to [0..1]).
double GetNormalizedFeature (LIDCNodule nodule, string feature)
 Returns the value of a single Haralick feature, normalized on a scale of [0..1].
LinkedList< LIDCNoduleRunQuery (LIDCNodule queryImage, int nItems)
 Runs a query on the nodule database (default options).
LinkedList< LIDCNoduleRunQuery (LIDCNodule queryImage, string feature, string similarity, int nItems)
 Runs a query on the nodule database (no distance threshold).
LinkedList< LIDCNoduleRunQuery (LIDCNodule queryImage, string feature, string similarity, double threshold)
 Runs a query on the nodule database (no limit to # of items returned).
LinkedList< LIDCNoduleRunQuery (LIDCNodule queryImage, string feature, string similarity, int nItems, double threshold)
 Runs a query on the nodule database.
double[] CalcPrecisionAndRecall (LIDCNodule queryImage, LinkedList< LIDCNodule > queryResults)
 Calculate precision and recall for query results.
double[] CalcMeanPrecisionAndRecall (string feature, string similarity, int nItems, double threshold)
 Run a query for each image in the database with given query parameters and calculate mean precision and recall.
double[] CalcMeanPrecisionAndRecall (string feature, string similarity, int nItems, double threshold, System.Windows.Forms.ProgressBar pbar)
 Run a query for each image in the database with given query parameters and calculate mean precision and recall and displays process status in a progress bar.

Properties

List< LIDCNoduleNodules [get]
 Main nodule collection.
string DEFAULT_FEATURE = "Gabor" []
 Default image feature for queries.
string DEFAULT_SIMILARITY = "Chi-Square (H)" []
 Default similarity measure for queries.
int TotalNoduleCount [get]
 Returns the total number of nodules in the database.
int UniqueNodulecount [get]
 Returns the number of unique nodules in the database (not counting multiple instances of the same nodule).
double MeanNoduleWidth [get]
 Returns the average nodule width.
double MeanNoduleHeight [get]
 Returns the average nodule height.

Private Member Functions

void updateHaralickStatistics (LIDCNodule nodule)
 Compares minimum/maximum Haralick statistics with a particular nodule's values and replaces with them if appropriate.


Detailed Description

A collection of LIDCNodule objects.

This class contains methods for loading, maintaining and saving LIDCNodule databases using XML files for serialization. It also provides the core system for CBIR, with normalization, query and performance (precision/recall) procedures.


Constructor & Destructor Documentation

BRISC::Core::LIDCNoduleDB::LIDCNoduleDB ( string  xmlFileName  )  [inline]

Creates a database from an XML file.

Parameters:
xmlFileName Filename of XML document

BRISC::Core::LIDCNoduleDB::LIDCNoduleDB ( string  xmlFileName,
System.Windows.Forms.ProgressBar  pbar 
) [inline]

Creates a database from an XML file and displays process status in a progress bar.

Parameters:
xmlFileName Filename of XML document
pbar ProgressBar object to update


Member Function Documentation

void BRISC::Core::LIDCNoduleDB::AddNodule ( LIDCNodule  nodule  )  [inline]

Adds a nodule to the database (no duplicate checking!) and updates general statistics.

Parameters:
nodule Nodule to be added

double [] BRISC::Core::LIDCNoduleDB::CalcMeanPrecisionAndRecall ( string  feature,
string  similarity,
int  nItems,
double  threshold,
System.Windows.Forms.ProgressBar  pbar 
) [inline]

Run a query for each image in the database with given query parameters and calculate mean precision and recall and displays process status in a progress bar.

Parameters:
feature Image features to use
similarity Similarity measure to use
nItems Number of items to return
threshold Highest distance to return
pbar ProgressBar object to update
Returns:
Two element array: [precision, recall]

double [] BRISC::Core::LIDCNoduleDB::CalcMeanPrecisionAndRecall ( string  feature,
string  similarity,
int  nItems,
double  threshold 
) [inline]

Run a query for each image in the database with given query parameters and calculate mean precision and recall.

Parameters:
feature Image features to use
similarity Similarity measure to use
nItems Number of items to return
threshold Highest distance to return
Returns:
Two element array: [precision, recall]

double [] BRISC::Core::LIDCNoduleDB::CalcPrecisionAndRecall ( LIDCNodule  queryImage,
LinkedList< LIDCNodule queryResults 
) [inline]

Calculate precision and recall for query results.

Parameters:
queryImage Nodule queried for
queryResults List of query results
Returns:
Two element array: [precision, recall]

List<LIDCNodule>.Enumerator BRISC::Core::LIDCNoduleDB::GetEnumerator (  )  [inline]

Returns an enumerator that iterates through the nodules in the database.

This allows code like the following:

            foreach (LIDCNodule n in myNoduleDB)
            {
                MessageBox.Show(n.seriesInstanceUID);
            }

Returns:
Enumerator from the actual collection

double [] BRISC::Core::LIDCNoduleDB::GetFeatureVector ( LIDCNodule  nodule,
string[]  features 
) [inline]

Builds a feature vector.

Parameters:
nodule Nodule of interest
features Named descriptors for feature vector
Returns:
Array of features

int BRISC::Core::LIDCNoduleDB::GetNoduleCount ( string  noduleNumber  )  [inline]

Counts appearances of a unique nodule (a nodule may appear on multiple slices and/or annotated by multiple physicians.

Parameters:
noduleNumber Nodule number
Returns:
Number of times that nodule appears in the database

double BRISC::Core::LIDCNoduleDB::GetNormalizedFeature ( LIDCNodule  nodule,
string  feature 
) [inline]

Returns the value of a single Haralick feature, normalized on a scale of [0..1].

Parameters:
nodule Nodule of interest
feature Named feature for extraction
Returns:
Normalized feature value

double [] BRISC::Core::LIDCNoduleDB::GetNormalizedFeatureVector ( LIDCNodule  nodule,
string[]  features 
) [inline]

Builds a normalized feature vector (all values are scaled to [0..1]).

Parameters:
nodule Nodule of interest
features Named descriptors for feature vector
Returns:
Array of features

void BRISC::Core::LIDCNoduleDB::LoadFromXML ( string  xmlFileName,
System.Windows.Forms.ProgressBar  pbar,
bool  addNewNodules 
) [inline]

Loads nodules from an XML file and displays process status in a progress bar (optionally only merging and not adding new nodules).

Parameters:
xmlFileName Filename of XML document
pbar ProgressBar object to update
addNewNodules Whether to add new nodules or just merge in new data for existing nodules

void BRISC::Core::LIDCNoduleDB::LoadFromXML ( string  xmlFileName,
System.Windows.Forms.ProgressBar  pbar 
) [inline]

Loads nodules from an XML file and displays process status in a progress bar.

Parameters:
xmlFileName Filename of XML document
pbar ProgressBar object to update

void BRISC::Core::LIDCNoduleDB::LoadFromXML ( string  xmlFileName,
bool  addNewNodules 
) [inline]

Loads nodules from an XML file (optionally only merging and not adding new nodules).

Parameters:
xmlFileName Filename of XML document
addNewNodules Whether to add new nodules or just merge in new data for existing nodules

void BRISC::Core::LIDCNoduleDB::LoadFromXML ( string  xmlFileName  )  [inline]

Loads nodules from an XML file.

Parameters:
xmlFileName Filename of XML document

LinkedList<LIDCNodule> BRISC::Core::LIDCNoduleDB::RunQuery ( LIDCNodule  queryImage,
string  feature,
string  similarity,
int  nItems,
double  threshold 
) [inline]

Runs a query on the nodule database.

Parameters:
queryImage Nodule to query for
feature Image features to use
similarity Similarity measure to use
nItems Number of items to return
threshold Highest distance to return
Returns:
List of query results

LinkedList<LIDCNodule> BRISC::Core::LIDCNoduleDB::RunQuery ( LIDCNodule  queryImage,
string  feature,
string  similarity,
double  threshold 
) [inline]

Runs a query on the nodule database (no limit to # of items returned).

Parameters:
queryImage Nodule to query for
feature Image features to use
similarity Similarity measure to use
threshold Highest distance to return
Returns:
List of query results

LinkedList<LIDCNodule> BRISC::Core::LIDCNoduleDB::RunQuery ( LIDCNodule  queryImage,
string  feature,
string  similarity,
int  nItems 
) [inline]

Runs a query on the nodule database (no distance threshold).

Parameters:
queryImage Nodule to query for
feature Image features to use
similarity Similarity measure to use
nItems Number of items to return
Returns:
List of query results

LinkedList<LIDCNodule> BRISC::Core::LIDCNoduleDB::RunQuery ( LIDCNodule  queryImage,
int  nItems 
) [inline]

Runs a query on the nodule database (default options).

Parameters:
queryImage Nodule to query for
nItems Number of items to return
Returns:
List of query results

void BRISC::Core::LIDCNoduleDB::SaveToXML ( string  xmlFileName  )  [inline]

Saves all nodule data to an XML file.

Parameters:
xmlFileName Filename of XML document

void BRISC::Core::LIDCNoduleDB::updateHaralickStatistics ( LIDCNodule  nodule  )  [inline, private]

Compares minimum/maximum Haralick statistics with a particular nodule's values and replaces with them if appropriate.

Parameters:
nodule Nodule to compare


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