本文整理汇总了C++中typenamefiltertype::Pointer::GetOutput方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::GetOutput方法的具体用法?C++ Pointer::GetOutput怎么用?C++ Pointer::GetOutput使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenamefiltertype::Pointer
的用法示例。
在下文中一共展示了Pointer::GetOutput方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: generateOutput
void medResliceViewer::generateOutput(vtkImageReslice* reslicer, QString destType)
{
typedef itk::Image<DATA_TYPE, 3> ImageType;
typedef itk::VTKImageToImageFilter<ImageType> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(reslicer->GetOutput());
filter->Update();
filter->GetOutput()->Update();
outputData = medAbstractDataFactory::instance()->createSmartPointer(destType);
outputData->setData(filter->GetOutput());
// Apply resampling in pix
if (reformaTlbx->findChild<QComboBox*>("bySpacingOrDimension")->currentText() == "Dimension")
{
applyResamplingPix();
}
typename ImageType::Pointer outputImage = static_cast<itk::Image<DATA_TYPE, 3>*>(outputData->data());
compensateForRadiologicalView<DATA_TYPE>(outputImage);
correctOutputTransform<DATA_TYPE>(outputImage, reslicer->GetResliceAxes());
// Final output image
outputData->setData(outputImage);
medUtilities::setDerivedMetaData(outputData, inputData, "reformatted");
medUtilitiesITK::updateMetadata<ImageType>(outputData);
}
示例2:
void mitk::OtsuTool3D::CalculatePreview(itk::Image<TPixel, VImageDimension> *itkImage, std::vector<int> regionIDs)
{
typedef itk::Image<TPixel, VImageDimension> InputImageType;
typedef itk::Image<mitk::Tool::DefaultSegmentationDataType, VImageDimension> OutputImageType;
typedef itk::BinaryThresholdImageFilter<InputImageType, OutputImageType> FilterType;
typename FilterType::Pointer filter = FilterType::New();
// InputImageType::Pointer itkImage;
typename OutputImageType::Pointer itkBinaryTempImage1;
typename OutputImageType::Pointer itkBinaryTempImage2;
typename OutputImageType::Pointer itkBinaryResultImage;
// mitk::Image::Pointer multiLabelSegmentation = dynamic_cast<mitk::Image*>(m_MultiLabelResultNode->GetData());
// mitk::CastToItkImage(multiLabelSegmentation, itkImage);
filter->SetInput(itkImage);
filter->SetLowerThreshold(regionIDs[0]);
filter->SetUpperThreshold(regionIDs[0]);
filter->SetInsideValue(1);
filter->SetOutsideValue(0);
filter->Update();
itkBinaryTempImage2 = filter->GetOutput();
typename itk::OrImageFilter<OutputImageType, OutputImageType>::Pointer orFilter =
itk::OrImageFilter<OutputImageType, OutputImageType>::New();
// if more than one region id is used compute the union of all given binary regions
for (std::vector<int>::iterator it = regionIDs.begin(); it != regionIDs.end(); ++it)
{
filter->SetLowerThreshold(*it);
filter->SetUpperThreshold(*it);
filter->SetInsideValue(1);
filter->SetOutsideValue(0);
filter->Update();
itkBinaryTempImage1 = filter->GetOutput();
orFilter->SetInput1(itkBinaryTempImage1);
orFilter->SetInput2(itkBinaryTempImage2);
orFilter->UpdateLargestPossibleRegion();
itkBinaryResultImage = orFilter->GetOutput();
itkBinaryTempImage2 = itkBinaryResultImage;
}
//----------------------------------------------------------------------------------------------------
mitk::Image::Pointer binarySegmentation;
mitk::CastToMitkImage(itkBinaryResultImage, binarySegmentation);
m_BinaryPreviewNode->SetData(binarySegmentation);
m_BinaryPreviewNode->SetVisibility(true);
m_BinaryPreviewNode->SetProperty("outline binary", mitk::BoolProperty::New(false));
mitk::RenderingManager::GetInstance()->RequestUpdateAll();
}
示例3: doubleThresholdImageFilterITK
void DoubleThresholdImageFilterITK::doubleThresholdImageFilterITK() {
insideValue_.setVolume(inport1_.getData());
outsideValue_.setVolume(inport1_.getData());
threshold1_.setVolume(inport1_.getData());
threshold2_.setVolume(inport1_.getData());
threshold3_.setVolume(inport1_.getData());
threshold4_.setVolume(inport1_.getData());
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::DoubleThresholdImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetInsideValue(insideValue_.getValue<T>());
filter->SetOutsideValue(outsideValue_.getValue<T>());
filter->SetThreshold1(threshold1_.getValue<T>());
filter->SetThreshold2(threshold2_.getValue<T>());
filter->SetThreshold3(threshold3_.getValue<T>());
filter->SetThreshold4(threshold4_.getValue<T>());
filter->SetFullyConnected(fullyConnected_.get());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例4: ComputeMaskedIsophotesInRegion
void ComputeMaskedIsophotesInRegion(const TVectorImageType* const image, const Mask* const mask,
const itk::ImageRegion<2>& region, TIsophoteImageType* const outputIsophotes)
{
//Helpers::WriteImageConditional<FloatScalarImageType>(image, "Debug/ComputeMaskedIsophotes.luminance.mha",
// this->DebugImages);
typename TIsophoteImageType::Pointer gradient = TIsophoteImageType::New();
ITKHelpers::InitializeImage(gradient.GetPointer(), image->GetLargestPossibleRegion());
Derivatives::MaskedGradientInRegion(image, mask, region, gradient.GetPointer());
//Helpers::DebugWriteImageConditional<FloatVector2ImageType>(gradient,
// "Debug/ComputeMaskedIsophotes.gradient.mha", this->DebugImages);
//Helpers::Write2DVectorImage(gradient, "Debug/ComputeMaskedIsophotes.gradient.mha");
// Rotate the gradient 90 degrees to obtain isophotes from gradient
typedef itk::UnaryFunctorImageFilter<TIsophoteImageType, TIsophoteImageType,
RotateVectors<typename TIsophoteImageType::PixelType,
typename TIsophoteImageType::PixelType> > FilterType;
typename FilterType::Pointer rotateFilter = FilterType::New();
rotateFilter->SetInput(gradient);
rotateFilter->Update();
//Helpers::DebugWriteImageConditional<FloatVector2ImageType>(rotateFilter->GetOutput(),
// "Debug/ComputeMaskedIsophotes.Isophotes.mha", this->DebugImages);
//Helpers::Write2DVectorImage(rotateFilter->GetOutput(), "Debug/ComputeMaskedIsophotes.Isophotes.mha");
ITKHelpers::CopyRegion(rotateFilter->GetOutput(), outputIsophotes, region, region);
}
示例5:
void mitk::CLUtil::itkGaussianFilter(TImageType * image, mitk::Image::Pointer & smoothed ,double sigma)
{
typedef itk::DiscreteGaussianImageFilter<TImageType,TImageType> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(image);
filter->SetVariance(sigma);
filter->Update();
mitk::CastToMitkImage(filter->GetOutput(),smoothed);
}
示例6: discreteGaussianImageFilterITK
void DiscreteGaussianImageFilterITK::discreteGaussianImageFilterITK() {
maximumError_.setVolume(inport1_.getData());
maximumError_.setMinValue<T>(1.0f);
variance_.setVolume(inport1_.getData());
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<float, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::DiscreteGaussianImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetInternalNumberOfStreamDivisions(internalNumberOfStreamDivisions_.get());
filter->SetMaximumError(maximumError_.getValue<T>());
filter->SetVariance(variance_.getValue<T>());
filter->SetUseImageSpacing(useImageSpacing_.get());
filter->SetFilterDimensionality(filterDimensionality_.get());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<float>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例7: intensityWindowingImageFilterITK
void IntensityWindowingImageFilterITK::intensityWindowingImageFilterITK() {
outputMinimum_.setVolume(inport1_.getData());
outputMaximum_.setVolume(inport1_.getData());
windowMinimum_.setVolume(inport1_.getData());
windowMaximum_.setVolume(inport1_.getData());
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::IntensityWindowingImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetOutputMinimum(outputMinimum_.getValue<T>());
filter->SetOutputMaximum(outputMaximum_.getValue<T>());
filter->SetWindowMinimum(windowMinimum_.getValue<T>());
filter->SetWindowMaximum(windowMaximum_.getValue<T>());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例8: bayesianClassifierImageFilterITK
void BayesianClassifierImageFilterITK::bayesianClassifierImageFilterITK() {
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType;
typedef itk::Image<uint8_t, 3> OutputImageType;
typedef itk::VectorImage<float, 3> VectorImageType;
typename InputImageType::Pointer p1 = voreenToITK<T>(inport1_.getData());
typedef itk::BayesianClassifierInitializationImageFilter<InputImageType> InitFilterType;
typename InitFilterType::Pointer initializer = InitFilterType::New();
initializer->SetInput(p1);
initializer->SetNumberOfClasses(numberOfClasses_.get());
try
{
initializer->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
//Filter define
typedef itk::BayesianClassifierImageFilter<VectorImageType> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(0, initializer->GetOutput());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<uint8_t>(filter->GetOutput());
if (outputVolume1) {
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
}
else
outport1_.setData(0);
}
示例9: otsuThresholdImageFilterITK
void OtsuThresholdImageFilterITK::otsuThresholdImageFilterITK() {
outsideValue_.setVolume(inport1_.getData());
outsideValue_.setMinValue<T>(0.0001f);
insideValue_.setVolume(inport1_.getData());
insideValue_.setMinValue<T>(0.0001f);
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::OtsuThresholdImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetNumberOfHistogramBins(numberOfHistogramBins_.get());
filter->SetOutsideValue(outsideValue_.getValue<T>());
filter->SetInsideValue(insideValue_.getValue<T>());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例10: AddOffset
void AddOffset(itk::Image<TPixel, VImageDimension>* image, int offset, mitk::Image::Pointer outputImage)
{
typedef itk::Image<TPixel, VImageDimension> ImageType;
typedef itk::ShiftScaleInPlaceImageFilter<ImageType> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetShift(offset);
filter->SetInput(image);
filter->Update();
mitk::CastToMitkImage(filter->GetOutput(), outputImage);
}
示例11: narrowBandThresholdSegmentationLevelSetImageFilterITK
void NarrowBandThresholdSegmentationLevelSetImageFilterITK::narrowBandThresholdSegmentationLevelSetImageFilterITK() {
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<S, 3> InputImageType2;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
typename InputImageType2::Pointer p2 = voreenToITK<S>(inport2_.getData());
//Filter define
typedef itk::NarrowBandThresholdSegmentationLevelSetImageFilter<InputImageType1, InputImageType2> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetFeatureImage(p2);
filter->SetPropagationScaling(propagationScaling_.get());
filter->SetCurvatureScaling(curvatureScaling_.get());
filter->SetAdvectionScaling(advectionScaling_.get());
filter->SetMaximumRMSError(maximumRMSError_.get());
filter->SetNumberOfIterations(numberOfIterations_.get());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例12: gradientRecursiveGaussianImageFilterITK
void GradientRecursiveGaussianImageFilterITK::gradientRecursiveGaussianImageFilterITK() {
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<itk::CovariantVector<double,3>, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::GradientRecursiveGaussianImageFilter<InputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetNormalizeAcrossScale(normalizeAcrossScale_.get());
filter->SetUseImageDirection(useImageDirection_.get());
filter->SetSigma(sigma_.get());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKVec3ToVoreenVec3Copy<double>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例13: gradientAnisotropicDiffusionImageFilterITK
void GradientAnisotropicDiffusionImageFilterITK::gradientAnisotropicDiffusionImageFilterITK() {
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::GradientAnisotropicDiffusionImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetNumberOfIterations(numberOfIterations_.get());
filter->SetTimeStep(timeStep_.get());
filter->SetConductanceParameter(conductanceParameter_.get());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例14: scalarConnectedComponentImageFilterITK
void ScalarConnectedComponentImageFilterITK::scalarConnectedComponentImageFilterITK() {
distanceThreshold_.setVolume(inport1_.getData());
distanceThreshold_.setMinValue<T>(0.001f);
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::ScalarConnectedComponentImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetDistanceThreshold(distanceThreshold_.getValue<T>());
observe(filter.GetPointer());
try
{
filter->Update();
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}
示例15: relabelComponentImageFilterITK
void RelabelComponentImageFilterITK::relabelComponentImageFilterITK() {
if (!enableProcessing_.get()) {
outport1_.setData(inport1_.getData(), false);
return;
}
typedef itk::Image<T, 3> InputImageType1;
typedef itk::Image<T, 3> OutputImageType1;
typename InputImageType1::Pointer p1 = voreenToITK<T>(inport1_.getData());
//Filter define
typedef itk::RelabelComponentImageFilter<InputImageType1, OutputImageType1> FilterType;
typename FilterType::Pointer filter = FilterType::New();
filter->SetInput(p1);
filter->SetMinimumObjectSize(minimumObjectSize_.get());
observe(filter.GetPointer());
try
{
filter->Update();
numberOfObjects_.set(filter->GetNumberOfObjects());
originalNumberOfObjects_.set(filter->GetOriginalNumberOfObjects());
}
catch (itk::ExceptionObject &e)
{
LERROR(e);
}
Volume* outputVolume1 = 0;
outputVolume1 = ITKToVoreenCopy<T>(filter->GetOutput());
if (outputVolume1) {
transferRWM(inport1_.getData(), outputVolume1);
transferTransformation(inport1_.getData(), outputVolume1);
outport1_.setData(outputVolume1);
} else
outport1_.setData(0);
}