19#ifndef itkLevelSetContainer_h
20#define itkLevelSetContainer_h
38template <
typename TIdentifier,
typename TLevelSet>
54 using typename Superclass::LevelSetIdentifierType;
56 using typename Superclass::LevelSetType;
57 using typename Superclass::LevelSetPointer;
58 using typename Superclass::InputIndexType;
60 using typename Superclass::OutputRealType;
61 using typename Superclass::GradientType;
62 using typename Superclass::HessianType;
64 using typename Superclass::LevelSetContainerType;
65 using typename Superclass::LevelSetContainerConstIteratorType;
66 using typename Superclass::LevelSetContainerIteratorType;
68 using typename Superclass::HeavisideType;
69 using typename Superclass::HeavisideConstPointer;
73 using typename Superclass::IdListType;
74 using typename Superclass::IdListIterator;
75 using typename Superclass::IdListImageType;
76 using typename Superclass::CacheImageType;
77 using typename Superclass::DomainMapImageFilterType;
79 using typename Superclass::DomainMapImageFilterPointer;
80 using typename Superclass::LevelSetDomainType;
81 using typename Superclass::DomainIteratorType;
92template <
typename TIdentifier,
typename TImage>
152 while (it != internalContainer.end())
161 image->CopyInformation(otherImage);
162 image->SetBufferedRegion(otherImage->GetBufferedRegion());
163 image->SetRequestedRegion(otherImage->GetRequestedRegion());
164 image->SetLargestPossibleRegion(otherImage->GetLargestPossibleRegion());
165 image->AllocateInitialized();
167 temp_ls->SetImage(image);
168 newContainer[it->first] = temp_ls;
169 newContainer[it->first]->SetDomainOffset((it->second)->GetDomainOffset());
174 newContainer[it->first] = temp_ls;
typename LevelSetType::OutputType OutputType
typename LevelSetType::InputType InputIndexType
typename DomainMapImageFilterType::LevelSetDomain LevelSetDomainType
typename LevelSetType::OutputRealType OutputRealType
void SetContainer(const LevelSetContainerType &iContainer)
typename LevelSetType::HessianType HessianType
typename IdListType::iterator IdListIterator
typename LevelSetContainerType::const_iterator LevelSetContainerConstIteratorType
HeavisideStepFunctionBase< OutputRealType, OutputRealType > HeavisideType
std::map< LevelSetIdentifierType, LevelSetPointer > LevelSetContainerType
std::list< LevelSetIdentifierType > IdListType
typename DomainContainerType::iterator DomainIteratorType
typename LevelSetType::Pointer LevelSetPointer
TIdentifier LevelSetIdentifierType
Image< short, Dimension > CacheImageType
Image< IdListType, Dimension > IdListImageType
typename DomainMapImageFilterType::Pointer DomainMapImageFilterPointer
typename LevelSetContainerType::iterator LevelSetContainerIteratorType
LevelSetDomainMapImageFilter< IdListImageType, CacheImageType > DomainMapImageFilterType
typename HeavisideType::ConstPointer HeavisideConstPointer
typename LevelSetType::GradientType GradientType
typename Superclass::OutputType OutputPixelType
typename LevelSetImageType::Pointer LevelSetImagePointer
void CopyInformationAndAllocate(const Self *iOther, const bool iAllocate)
LevelSetContainer()=default
~LevelSetContainer() override=default
typename LevelSetType::ImageType LevelSetImageType
~LevelSetContainer() override=default
typename Superclass::OutputType OutputPixelType
LevelSetContainer()=default
static constexpr unsigned int Dimension
Base class for the "dense" representation of a level-set function on one image.
Light weight base class for most itk classes.
SmartPointer< Self > Pointer
constexpr unsigned int Dimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....