Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "mitkSeedsImageLookupTableSource.h"
00020 #include <vtkLookupTable.h>
00021
00022
00023 mitk::SeedsImageLookupTableSource::~SeedsImageLookupTableSource()
00024 {}
00025
00026
00027 mitk::SeedsImageLookupTableSource::SeedsImageLookupTableSource() : mitk::LookupTableSource()
00028 {
00029 m_Mode = DefaultLUT;
00030 m_LookupTable = NULL;
00031
00032 this->Modified();
00033 }
00034
00035
00036 void mitk::SeedsImageLookupTableSource::GenerateData()
00037 {
00038 OutputType::Pointer output = this->GetOutput();
00039
00040 vtkLookupTable* vtkLut = this->BuildVtkLookupTable();
00041 output->SetVtkLookupTable( vtkLut );
00042 vtkLut->Delete();
00043 }
00044
00045 vtkLookupTable* mitk::SeedsImageLookupTableSource::BuildSeedsLookupTable()
00046 {
00047 vtkLookupTable *vtkLookupTable = vtkLookupTable::New();
00048 vtkLookupTable->SetNumberOfTableValues( 256 );
00049 vtkLookupTable->SetTableRange( 0.0, 255.0 );
00050
00051
00052 int i;
00053 for ( i = 0; i < 253; i++ )
00054 {
00055 vtkLookupTable->SetTableValue ( i, 0.0, 0.0, 0.0, 0.0 );
00056 }
00057
00058
00059 vtkLookupTable->SetTableValue( 254, 0.0, 0.0, 1.0, 0.7 );
00060
00061
00062 vtkLookupTable->SetTableValue( 255, 1.0, 0.0, 0.0, 0.7 );
00063
00064 return vtkLookupTable;
00065 }
00066
00067 vtkLookupTable* mitk::SeedsImageLookupTableSource::BuildForceLookupTable()
00068 {
00069 vtkLookupTable *vtkLookupTable = vtkLookupTable::New();
00070 vtkLookupTable->SetTableRange( 0.0, 1.0 );
00071 vtkLookupTable->SetValueRange( 0.0, 1.0 );
00072 vtkLookupTable->SetNumberOfColors( 256 );
00073 vtkLookupTable->Build();
00074
00075 int i;
00076 for ( i = 0; i < 128; i++ )
00077 {
00078 vtkLookupTable->SetTableValue ( i,
00079 0.0, 0.0, 1.0, 0.2 + fabs(128.0 - i) / 256.0 );
00080 }
00081
00082 vtkLookupTable->SetTableValue ( 127, 0.0, 0.0, 1.0, 0.0 );
00083
00084 for ( i = 128; i < 256; i++ )
00085 {
00086 vtkLookupTable->SetTableValue ( i,
00087 1.0, 1.0, 0.0, 0.2 + fabs(i - 128.0) / 256.0 );
00088 }
00089
00090 return vtkLookupTable;
00091 }
00092
00093 vtkLookupTable* mitk::SeedsImageLookupTableSource::BuildDefaultLookupTable()
00094 {
00095 vtkLookupTable *vtkLookupTable = vtkLookupTable::New();
00096 int size = 256;
00097 vtkLookupTable->SetTableRange(0,255);
00098 vtkLookupTable->SetNumberOfColors( size );
00099 vtkLookupTable->Build();
00100 return( vtkLookupTable );
00101 }
00102
00103
00104 vtkLookupTable* mitk::SeedsImageLookupTableSource::BuildVtkLookupTable()
00105 {
00106 if ( m_Mode == Seeds )
00107 {
00108 return BuildSeedsLookupTable();
00109 }
00110 else if ( m_Mode == Force )
00111 {
00112 return BuildForceLookupTable();
00113 }
00114
00115 else
00116 {
00117 return BuildDefaultLookupTable();
00118 }
00119 }