/usr/include/InsightToolkit/Review/itkRegionBasedLevelSetFunctionData.txx is in libinsighttoolkit3-dev 3.20.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | /*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: itkRegionBasedLevelSetFunctionData.txx
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __itkRegionBasedLevelSetFunctionData_txx
#define __itkRegionBasedLevelSetFunctionData_txx
#include "itkRegionBasedLevelSetFunctionData.h"
namespace itk
{
template < class TInputImage, class TFeatureImage >
RegionBasedLevelSetFunctionData< TInputImage, TFeatureImage >
::RegionBasedLevelSetFunctionData()
{
m_WeightedNumberOfPixelsInsideLevelSet = 0.;
m_WeightedNumberOfPixelsOutsideLevelSet = 0.;
m_HeavisideFunctionOfLevelSetImage = 0;
}
template < class TInputImage, class TFeatureImage >
void
RegionBasedLevelSetFunctionData< TInputImage, TFeatureImage >
::CreateHeavisideFunctionOfLevelSetImage( const InputImageType * image )
{
const InputRegionType region = image->GetLargestPossibleRegion();
this->m_HeavisideFunctionOfLevelSetImage = InputImageType::New();
this->m_HeavisideFunctionOfLevelSetImage->CopyInformation( image );
this->m_HeavisideFunctionOfLevelSetImage->SetRegions( region );
this->m_HeavisideFunctionOfLevelSetImage->Allocate();
this->m_HeavisideFunctionOfLevelSetImage->FillBuffer( 0 );
const InputPointType origin = image->GetOrigin();
this->m_HeavisideFunctionOfLevelSetImage->TransformPhysicalPointToIndex( origin, this->m_Start );
for( unsigned int i = 0; i < ImageDimension; i++ )
{
this->m_End[i] = this->m_Start[i] + static_cast< InputIndexValueType >( region.GetSize()[i] ) - 1;
}
}
template < class TInputImage, class TFeatureImage >
typename RegionBasedLevelSetFunctionData< TInputImage, TFeatureImage >::InputIndexType
RegionBasedLevelSetFunctionData< TInputImage, TFeatureImage >
::GetIndex( const FeatureIndexType& featureIndex )
{
InputIndexType index;
for( unsigned int i = 0; i < ImageDimension; i++ )
{
index[i] = featureIndex[i] - static_cast< InputIndexValueType >( this->m_Start[i] );
}
return index;
}
template < class TInputImage, class TFeatureImage >
typename RegionBasedLevelSetFunctionData< TInputImage, TFeatureImage >::FeatureIndexType
RegionBasedLevelSetFunctionData< TInputImage, TFeatureImage >
::GetFeatureIndex( const InputIndexType& inputIndex )
{
FeatureIndexType index;
for( unsigned int i = 0; i < ImageDimension; i++ )
{
index[i] = inputIndex[i] + static_cast< InputIndexValueType >( this->m_Start[i] );
}
return index;
}
} //end namespace itk
#endif
|