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< LIDCNodule > | RunQuery (LIDCNodule queryImage, int nItems) |
Runs a query on the nodule database (default options). | |
LinkedList< LIDCNodule > | RunQuery (LIDCNodule queryImage, string feature, string similarity, int nItems) |
Runs a query on the nodule database (no distance threshold). | |
LinkedList< LIDCNodule > | RunQuery (LIDCNodule queryImage, string feature, string similarity, double threshold) |
Runs a query on the nodule database (no limit to # of items returned). | |
LinkedList< LIDCNodule > | RunQuery (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< LIDCNodule > | Nodules [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. |
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.
BRISC::Core::LIDCNoduleDB::LIDCNoduleDB | ( | string | xmlFileName | ) | [inline] |
Creates a database from an XML file.
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.
xmlFileName | Filename of XML document | |
pbar | ProgressBar object to update |
void BRISC::Core::LIDCNoduleDB::AddNodule | ( | LIDCNodule | nodule | ) | [inline] |
Adds a nodule to the database (no duplicate checking!) and updates general statistics.
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.
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 |
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.
feature | Image features to use | |
similarity | Similarity measure to use | |
nItems | Number of items to return | |
threshold | Highest distance to return |
double [] BRISC::Core::LIDCNoduleDB::CalcPrecisionAndRecall | ( | LIDCNodule | queryImage, | |
LinkedList< LIDCNodule > | queryResults | |||
) | [inline] |
Calculate precision and recall for query results.
queryImage | Nodule queried for | |
queryResults | List of query results |
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); }
double [] BRISC::Core::LIDCNoduleDB::GetFeatureVector | ( | LIDCNodule | nodule, | |
string[] | features | |||
) | [inline] |
Builds a feature vector.
nodule | Nodule of interest | |
features | Named descriptors for feature vector |
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.
noduleNumber | Nodule number |
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].
nodule | Nodule of interest | |
feature | Named feature for extraction |
double [] BRISC::Core::LIDCNoduleDB::GetNormalizedFeatureVector | ( | LIDCNodule | nodule, | |
string[] | features | |||
) | [inline] |
Builds a normalized feature vector (all values are scaled to [0..1]).
nodule | Nodule of interest | |
features | Named descriptors for feature vector |
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).
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.
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).
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.
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.
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 |
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).
queryImage | Nodule to query for | |
feature | Image features to use | |
similarity | Similarity measure to use | |
threshold | Highest distance to return |
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).
queryImage | Nodule to query for | |
feature | Image features to use | |
similarity | Similarity measure to use | |
nItems | Number of items to return |
LinkedList<LIDCNodule> BRISC::Core::LIDCNoduleDB::RunQuery | ( | LIDCNodule | queryImage, | |
int | nItems | |||
) | [inline] |
Runs a query on the nodule database (default options).
queryImage | Nodule to query for | |
nItems | Number of items to return |
void BRISC::Core::LIDCNoduleDB::SaveToXML | ( | string | xmlFileName | ) | [inline] |
Saves all nodule data to an XML file.
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.
nodule | Nodule to compare |