Groups Headers containing Diffusion Information. More...
#include <mitkGroupDiffusionHeadersFilter.h>


Public Types | |
| typedef GroupDiffusionHeadersFilter | Self |
| typedef BaseProcess | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
| typedef mitk::DiffusionImageHeaderInformation | HeaderType |
| typedef HeaderType::Pointer | HeaderPointer |
| typedef std::vector < HeaderPointer > | InputType |
| typedef std::vector< InputType > | OutputType |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| virtual void | SetInput (InputType input) |
| virtual void | SetInput (const unsigned int &idx, InputType input) |
| virtual void | SetNthOutput (const unsigned int &idx, InputType output) |
| InputType | GetInput (void) |
| InputType | GetInput (const unsigned int &idx) |
| OutputType | GetOutput () |
| virtual void | GenerateOutputInformation () |
| virtual void | Update () |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| GroupDiffusionHeadersFilter () | |
| virtual | ~GroupDiffusionHeadersFilter () |
Protected Attributes | |
| OutputType | m_Output |
| InputType | m_Input |
Groups Headers containing Diffusion Information.
Definition at line 33 of file mitkGroupDiffusionHeadersFilter.h.
| typedef itk::SmartPointer<const Self> mitk::GroupDiffusionHeadersFilter::ConstPointer |
Definition at line 36 of file mitkGroupDiffusionHeadersFilter.h.
Definition at line 41 of file mitkGroupDiffusionHeadersFilter.h.
Definition at line 38 of file mitkGroupDiffusionHeadersFilter.h.
| typedef std::vector<HeaderPointer> mitk::GroupDiffusionHeadersFilter::InputType |
Definition at line 42 of file mitkGroupDiffusionHeadersFilter.h.
| typedef std::vector<InputType> mitk::GroupDiffusionHeadersFilter::OutputType |
Definition at line 44 of file mitkGroupDiffusionHeadersFilter.h.
| typedef itk::SmartPointer<Self> mitk::GroupDiffusionHeadersFilter::Pointer |
Definition at line 36 of file mitkGroupDiffusionHeadersFilter.h.
Definition at line 36 of file mitkGroupDiffusionHeadersFilter.h.
Definition at line 36 of file mitkGroupDiffusionHeadersFilter.h.
| mitk::GroupDiffusionHeadersFilter::GroupDiffusionHeadersFilter | ( | ) | [protected] |
A default constructor
Definition at line 22 of file mitkGroupDiffusionHeadersFilter.cpp.
{
// Modify superclass default values, may be overridden by subclasses
this->SetNumberOfRequiredInputs( 1 );
this->SetNumberOfRequiredOutputs( 4 );
}
| mitk::GroupDiffusionHeadersFilter::~GroupDiffusionHeadersFilter | ( | ) | [protected, virtual] |
| void mitk::GroupDiffusionHeadersFilter::GenerateOutputInformation | ( | void | ) | [virtual] |
Definition at line 33 of file mitkGroupDiffusionHeadersFilter.cpp.
{
}
| virtual const char* mitk::GroupDiffusionHeadersFilter::GetClassName | ( | ) | const [virtual] |
| mitk::GroupDiffusionHeadersFilter::InputType mitk::GroupDiffusionHeadersFilter::GetInput | ( | void | ) |
Definition at line 131 of file mitkGroupDiffusionHeadersFilter.cpp.
{
return m_Input;
}
| mitk::GroupDiffusionHeadersFilter::InputType mitk::GroupDiffusionHeadersFilter::GetInput | ( | const unsigned int & | idx ) |
| idx | the index of the input to return |
Definition at line 137 of file mitkGroupDiffusionHeadersFilter.cpp.
{
return this->GetInput();
}
| mitk::GroupDiffusionHeadersFilter::OutputType mitk::GroupDiffusionHeadersFilter::GetOutput | ( | void | ) |
Definition at line 143 of file mitkGroupDiffusionHeadersFilter.cpp.
{
return m_Output;
}
| static Pointer mitk::GroupDiffusionHeadersFilter::New | ( | ) | [static] |
| void mitk::GroupDiffusionHeadersFilter::SetInput | ( | InputType | input ) | [virtual] |
Sets the input of this process object
| input | the input |
Definition at line 118 of file mitkGroupDiffusionHeadersFilter.cpp.
{
// Process object is not const-correct so the const_cast is required here
m_Input = input;
}
| void mitk::GroupDiffusionHeadersFilter::SetInput | ( | const unsigned int & | idx, |
| InputType | input | ||
| ) | [virtual] |
Sets the input n'th of this process object
| idx | the number associated with the given input |
Definition at line 125 of file mitkGroupDiffusionHeadersFilter.cpp.
{
this->SetInput( input );
}
| void mitk::GroupDiffusionHeadersFilter::SetNthOutput | ( | const unsigned int & | idx, |
| InputType | output | ||
| ) | [virtual] |
Sets the input n'th of this process object
| idx | the number associated with the given input |
Definition at line 148 of file mitkGroupDiffusionHeadersFilter.cpp.
| void mitk::GroupDiffusionHeadersFilter::Update | ( | ) | [virtual] |
Definition at line 37 of file mitkGroupDiffusionHeadersFilter.cpp.
References mitk::DHG_NonZeroDiffusionWeighted, mitk::DHG_NotYetGrouped, mitk::DHG_Other, and mitk::DHG_ZeroDiffusionWeighted.
{
InputType input = static_cast<InputType>( this->GetInput( ) );
this->SetNthOutput(0, input);
InputType dwi;
InputType zerodwi;
InputType other;
bool foundDWI = false;
// check each series' first image
unsigned int size = input.size();
HeaderPointer header;
HeaderPointer dwiHeader;
for ( unsigned int i = 0 ; i < size ; ++i )
{
header = input[i];
// list of files
if( header->bValue > 0)
{
header->headerGroup = DHG_NonZeroDiffusionWeighted;
if(!foundDWI)
dwiHeader = header;
foundDWI = true;
}
else
{
header->headerGroup = DHG_ZeroDiffusionWeighted;
}
}
if(foundDWI)
{
for ( unsigned int i = 0 ; i < size ; ++i )
{
header = input[i];
// list of files
if( !header->isIdentical(dwiHeader))
{
header->headerGroup = DHG_Other;
}
}
}
else
{
for ( unsigned int i = 0 ; i < size ; ++i )
{
header = input[i];
header->headerGroup = DHG_Other;
}
}
for ( unsigned int i = 0 ; i < size ; ++i )
{
header = input[i];
switch (header->headerGroup)
{
case DHG_Other:
other.push_back(header);
break;
case DHG_ZeroDiffusionWeighted:
zerodwi.push_back(header);
break;
case DHG_NonZeroDiffusionWeighted:
dwi.push_back(header);
break;
case DHG_NotYetGrouped:
break;
}
}
this->SetNthOutput(1, dwi);
this->SetNthOutput(2, zerodwi);
this->SetNthOutput(3, other);
}
InputType mitk::GroupDiffusionHeadersFilter::m_Input [protected] |
Definition at line 94 of file mitkGroupDiffusionHeadersFilter.h.
Definition at line 93 of file mitkGroupDiffusionHeadersFilter.h.
1.7.2