本文整理汇总了C++中typenamefiltertype::Pointer::GetFeatureMeans方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::GetFeatureMeans方法的具体用法?C++ Pointer::GetFeatureMeans怎么用?C++ Pointer::GetFeatureMeans使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenamefiltertype::Pointer
的用法示例。
在下文中一共展示了Pointer::GetFeatureMeans方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
void
CalculateCoocurenceFeatures(itk::Image<TPixel, VImageDimension>* itkImage, mitk::Image::Pointer mask, mitk::GIFCooccurenceMatrix::FeatureListType & featureList, double range)
{
typedef itk::Image<TPixel, VImageDimension> ImageType;
typedef itk::Image<TPixel, VImageDimension> MaskType;
typedef itk::Statistics::ScalarImageToTextureFeaturesFilter<ImageType> FilterType;
typedef itk::MinimumMaximumImageCalculator<ImageType> MinMaxComputerType;
typedef typename FilterType::TextureFeaturesFilterType TextureFilterType;
typename MaskType::Pointer maskImage = MaskType::New();
mitk::CastToItkImage(mask, maskImage);
typename FilterType::Pointer filter = FilterType::New();
typename FilterType::OffsetVector::Pointer newOffset = FilterType::OffsetVector::New();
auto oldOffsets = filter->GetOffsets();
auto oldOffsetsIterator = oldOffsets->Begin();
while(oldOffsetsIterator != oldOffsets->End())
{
typename FilterType::OffsetType offset = oldOffsetsIterator->Value();
for (unsigned int i = 0; i < VImageDimension; ++i)
{
offset[i] *= range;
}
newOffset->push_back(offset);
oldOffsetsIterator++;
}
filter->SetOffsets(newOffset);
// All features are required
typename FilterType::FeatureNameVectorPointer requestedFeatures = FilterType::FeatureNameVector::New();
requestedFeatures->push_back(TextureFilterType::Energy);
requestedFeatures->push_back(TextureFilterType::Entropy);
requestedFeatures->push_back(TextureFilterType::Correlation);
requestedFeatures->push_back(TextureFilterType::InverseDifferenceMoment);
requestedFeatures->push_back(TextureFilterType::Inertia);
requestedFeatures->push_back(TextureFilterType::ClusterShade);
requestedFeatures->push_back(TextureFilterType::ClusterProminence);
requestedFeatures->push_back(TextureFilterType::HaralickCorrelation);
typename MinMaxComputerType::Pointer minMaxComputer = MinMaxComputerType::New();
minMaxComputer->SetImage(itkImage);
minMaxComputer->Compute();
filter->SetInput(itkImage);
filter->SetMaskImage(maskImage);
filter->SetRequestedFeatures(requestedFeatures);
filter->SetPixelValueMinMax(minMaxComputer->GetMinimum(),minMaxComputer->GetMaximum());
filter->Update();
auto featureMeans = filter->GetFeatureMeans ();
auto featureStd = filter->GetFeatureStandardDeviations();
std::ostringstream ss;
ss << range;
std::string strRange = ss.str();
for (std::size_t i = 0; i < featureMeans->size(); ++i)
{
switch (i)
{
case TextureFilterType::Energy :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Energy Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Energy Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::Entropy :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Entropy Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Entropy Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::Correlation :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Correlation Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Correlation Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::InverseDifferenceMoment :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") InverseDifferenceMoment Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") InverseDifferenceMoment Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::Inertia :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Inertia Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") Inertia Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::ClusterShade :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") ClusterShade Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") ClusterShade Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::ClusterProminence :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") ClusterProminence Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") ClusterProminence Std.",featureStd->ElementAt(i)));
break;
case TextureFilterType::HaralickCorrelation :
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") HaralickCorrelation Means",featureMeans->ElementAt(i)));
featureList.push_back(std::make_pair("co-occ. ("+ strRange+") HaralickCorrelation Std.",featureStd->ElementAt(i)));
break;
default:
break;
}
}
}