49
49
vtkLookupTableManager::vtkLookupTableManager() {}
52
51
vtkLookupTableManager::~vtkLookupTableManager() {}
55
53
std::list<std::string> vtkLookupTableManager::GetAvailableLookupTables() {
56
std::string lutNames[]={_Std("B/W"),_Std("B/W Inverse"),_Std("Barten"), _Std("Black Body"), _Std("Cardiac"), _Std("VR Bones"), _Std("VR Muscles & Bones"), _Std("VR Red Vessels"), _Std("Gray Rainbow"), _Std("Stern"), _Std("Spectrum"), _Std("Hot Metal"), _Std("Hot Iron"), _Std("Hot Green"), _Std("GE Color"), _Std("Flow"), _Std("LONI"), _Std("LONI2"), _Std("Asymmetry"), _Std("P-Value"), _Std("ROI")};
54
std::string lutNames[]={_Std("B/W"),_Std("B/W Inverse"),_Std("Barten"), _Std("Black Body"), _Std("Cardiac"), _Std("VR Bones"), _Std("VR Muscles & Bones"), _Std("VR Red Vessels"), _Std("Gray Rainbow"), _Std("Stern"), _Std("Spectrum"), _Std("Hot Metal"), _Std("Hot Iron"), _Std("Hot Green"), _Std("GE Color"), _Std("PERFusion"), _Std("PET"), _Std("Flow"), _Std("LONI"), _Std("LONI2"), _Std("Asymmetry"), _Std("P-Value"), _Std("ROI")};
57
55
std::list<std::string> v_lutNames;
58
for ( int i=0; i<21; i++) {
56
for ( int i=0; i<22; i++) {
59
57
v_lutNames.push_back(lutNames[i]);
125
123
lut = vtkLookupTableManager::GetGEColorLookupTable();
127
lut = vtkLookupTableManager::GetPERFusionLookupTable();
131
lut = vtkLookupTableManager::GetPETLookupTable();
129
135
lut = vtkLookupTableManager::GetFlowLookupTable();
457
vtkLookupTable* vtkLookupTableManager::GetPETLookupTable(void) {
458
vtkLookupTable* lut = vtkLookupTable::New();
459
lut->SetNumberOfTableValues(256);
463
for ( int i = 0; i < 256; i++) {
465
lut->SetTableValue(i, (double)(i << 1) / 255.0, 0.0, 0.0, /*(double)(i)/255.0*/ log (1.0+(double)(i)/255.0*9.0)/log (10.0) );
468
lut->SetTableValue(i, 1.0, (double) ( (i-128) << 2 ) / 255.0, 0.0, /*(double)(i)/255.0*/ log (1.0+(double)(i)/255.0*9.0)/log (10.0) );
471
lut->SetTableValue(i, 1.0, 1.0, (double) ( (i-192) << 2 ) / 255.0, /*(double)(i)/255.0*/ log (1.0+(double)(i)/255.0*9.0)/log (10.0) );
478
vtkLookupTable* vtkLookupTableManager::GetPERFusionLookupTable(void) {
479
vtkLookupTable* lut = vtkLookupTable::New();
480
lut->SetNumberOfTableValues(256);
484
const int* R = PERFUSION;
485
const int* G = R + 256;
486
const int* B = G + 256;
488
for ( int i = 0; i < 256; i++) {
489
lut->SetTableValue(i, (double)R[i]/255.0, (double)G[i]/255.0, (double)B[i]/255.0, /*(double)(i)/255.0*/ log (1.0+(double)(i)/255.0*9.0)/log (10.0) );
451
495
vtkLookupTable* vtkLookupTableManager::GetROILookupTable() {
452
496
vtkLookupTable* lut = vtkLookupTable::New();
453
497
lut->SetNumberOfTableValues (256);