#include <itkDiffusionQballGeneralizedFaImageFilter.h>
List of all members.
Public Types |
enum | GfaComputationMethod {
GFA_STANDARD,
GFA_QUANTILES_HIGH_LOW,
GFA_QUANTILE_HIGH,
GFA_MAX_ODF_VALUE,
GFA_DECONVOLUTION_COEFFS,
GFA_MIN_MAX_NORMALIZED_STANDARD,
GFA_NORMALIZED_ENTROPY,
GFA_NEMATIC_ORDER_PARAMETER,
GFA_QUANTILE_LOW,
GFA_MIN_ODF_VALUE,
GFA_QUANTILES_LOW_HIGH,
GFA_STD_BY_MAX,
GFA_PRINCIPLE_CURVATURE,
GFA_GENERALIZED_GFA
} |
typedef
DiffusionQballGeneralizedFaImageFilter | Self |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef ImageToImageFilter
< Image< Vector< TOdfPixelType,
NrOdfDirections >, 3 >, Image
< TGfaPixelType, 3 > > | Superclass |
typedef TOdfPixelType | OdfComponentType |
typedef TGfaPixelType | DirectionPixelType |
typedef Superclass::InputImageType | InputImageType |
typedef Superclass::OutputImageType | OutputImageType |
typedef
Superclass::OutputImageRegionType | OutputImageRegionType |
Public Member Functions |
virtual const char * | GetClassName () const |
| itkStaticConstMacro (NOdfDirections, int, NrOdfDirections) |
void | SetOdfImage (const InputImageType *image) |
virtual GfaComputationMethod | GetComputationMethod () |
virtual void | SetComputationMethod (GfaComputationMethod _arg) |
virtual double | GetParam1 () |
virtual void | SetParam1 (double _arg) |
virtual double | GetParam2 () |
virtual void | SetParam2 (double _arg) |
Static Public Member Functions |
static Pointer | New () |
Protected Member Functions |
| DiffusionQballGeneralizedFaImageFilter () |
| ~DiffusionQballGeneralizedFaImageFilter () |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | BeforeThreadedGenerateData () |
void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int) |
Protected Attributes |
GfaComputationMethod | m_ComputationMethod |
double | m_Param1 |
double | m_Param2 |
Detailed Description
template<class TOdfPixelType, class TGfaPixelType, int NrOdfDirections>
class itk::DiffusionQballGeneralizedFaImageFilter< TOdfPixelType, TGfaPixelType, NrOdfDirections >
Definition at line 36 of file itkDiffusionQballGeneralizedFaImageFilter.h.
Member Typedef Documentation
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
Member Enumeration Documentation
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
- Enumerator:
GFA_STANDARD |
|
GFA_QUANTILES_HIGH_LOW |
|
GFA_QUANTILE_HIGH |
|
GFA_MAX_ODF_VALUE |
|
GFA_DECONVOLUTION_COEFFS |
|
GFA_MIN_MAX_NORMALIZED_STANDARD |
|
GFA_NORMALIZED_ENTROPY |
|
GFA_NEMATIC_ORDER_PARAMETER |
|
GFA_QUANTILE_LOW |
|
GFA_MIN_ODF_VALUE |
|
GFA_QUANTILES_LOW_HIGH |
|
GFA_STD_BY_MAX |
|
GFA_PRINCIPLE_CURVATURE |
|
GFA_GENERALIZED_GFA |
|
Definition at line 43 of file itkDiffusionQballGeneralizedFaImageFilter.h.
{
GFA_STANDARD,
GFA_QUANTILES_HIGH_LOW,
GFA_QUANTILE_HIGH,
GFA_MAX_ODF_VALUE,
GFA_DECONVOLUTION_COEFFS,
GFA_MIN_MAX_NORMALIZED_STANDARD,
GFA_NORMALIZED_ENTROPY,
GFA_NEMATIC_ORDER_PARAMETER,
GFA_QUANTILE_LOW,
GFA_MIN_ODF_VALUE,
GFA_QUANTILES_LOW_HIGH,
GFA_STD_BY_MAX,
GFA_PRINCIPLE_CURVATURE,
GFA_GENERALIZED_GFA
};
Constructor & Destructor Documentation
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
Member Function Documentation
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
Runtime information support.
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
Method for creation through the object factory.
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
Definition at line 48 of file itkDiffusionQballGeneralizedFaImageFilter.txx.
References QuadProgPP::sort().
{
typename OutputImageType::Pointer outputImage =
static_cast< OutputImageType * >(this->ProcessObject::GetOutput(0));
ImageRegionIterator< OutputImageType > oit(outputImage, outputRegionForThread);
oit.GoToBegin();
typedef itk::OrientationDistributionFunction<TOdfPixelType,NrOdfDirections> OdfType;
typedef ImageRegionConstIterator< InputImageType > InputIteratorType;
typedef typename InputImageType::PixelType OdfVectorType;
typename InputImageType::Pointer inputImagePointer = NULL;
inputImagePointer = static_cast< InputImageType * >(
this->ProcessObject::GetInput(0) );
InputIteratorType git(inputImagePointer, outputRegionForThread );
git.GoToBegin();
while( !git.IsAtEnd() )
{
OdfVectorType b = git.Get();
TGfaPixelType outval = -1;
switch( m_ComputationMethod )
{
case GFA_STANDARD:
{
OdfType odf = b.GetDataPointer();
outval = odf.GetGeneralizedFractionalAnisotropy();
break;
}
case GFA_QUANTILES_HIGH_LOW:
{
vnl_vector_fixed<TOdfPixelType,NrOdfDirections> sorted;
for(int i=0; i<NrOdfDirections; i++)
{
sorted[i] = b[i];
}
std::sort( sorted.begin(), sorted.end() );
double q60 = sorted[floor(0.6*(double)NrOdfDirections+0.5)];
double q95 = sorted[floor(0.95*(double)NrOdfDirections+0.5)];
outval = q95/q60 - 1.0;
break;
}
case GFA_QUANTILE_HIGH:
{
vnl_vector_fixed<TOdfPixelType,NrOdfDirections> sorted;
for(int i=0; i<NrOdfDirections; i++)
{
sorted[i] = b[i];
}
std::sort( sorted.begin(), sorted.end() );
double q95 = sorted[floor(0.95*(double)NrOdfDirections+0.5)];
outval = q95;
break;
}
case GFA_MAX_ODF_VALUE:
{
outval = b.GetVnlVector().max_value();
break;
}
case GFA_DECONVOLUTION_COEFFS:
{
break;
}
case GFA_MIN_MAX_NORMALIZED_STANDARD:
{
OdfType odf = b.GetDataPointer();
odf = odf.MinMaxNormalize();
outval = odf.GetGeneralizedFractionalAnisotropy();
break;
}
case GFA_NORMALIZED_ENTROPY:
{
OdfType odf = b.GetDataPointer();
outval = odf.GetNormalizedEntropy();
break;
}
case GFA_NEMATIC_ORDER_PARAMETER:
{
OdfType odf = b.GetDataPointer();
outval = odf.GetNematicOrderParameter();
break;
}
case GFA_QUANTILE_LOW:
{
vnl_vector_fixed<TOdfPixelType,NrOdfDirections> sorted;
for(int i=0; i<NrOdfDirections; i++)
{
sorted[i] = b[i];
}
std::sort( sorted.begin(), sorted.end() );
double q05 = sorted[floor(0.05*(double)NrOdfDirections+0.5)];
outval = q05;
break;
}
case GFA_MIN_ODF_VALUE:
{
outval = b.GetVnlVector().min_value();
break;
}
case GFA_QUANTILES_LOW_HIGH:
{
vnl_vector_fixed<TOdfPixelType,NrOdfDirections> sorted;
for(int i=0; i<NrOdfDirections; i++)
{
sorted[i] = b[i];
}
std::sort( sorted.begin(), sorted.end() );
double q05 = sorted[floor(0.05*(double)NrOdfDirections+0.5)];
double q40 = sorted[floor(0.4*(double)NrOdfDirections+0.5)];
outval = q40/q05 - 1.0;
break;
}
case GFA_STD_BY_MAX:
{
OdfType odf = b.GetDataPointer();
outval = odf.GetStdDevByMaxValue();
break;
}
case GFA_PRINCIPLE_CURVATURE:
{
OdfType odf = b.GetDataPointer();
outval = odf.GetPrincipleCurvature(m_Param1, m_Param2, 0);
break;
}
case GFA_GENERALIZED_GFA:
{
OdfType odf = b.GetDataPointer();
outval = odf.GetGeneralizedGFA(m_Param1, m_Param2);
break;
}
}
oit.Set( outval );
++oit;
++git;
}
std::cout << "One Thread finished calculation" << std::endl;
}
Member Data Documentation
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
template<class TOdfPixelType , class TGfaPixelType , int NrOdfDirections>
The documentation for this class was generated from the following files: