void Edge::Set(std::string name, FADA_Index* i, Condition* valid,FADA_Index*s){ SetVariableName(name); SetIndex(i); SetCondition(valid); SetSigma(s); }
mitk::pa::Volume::Pointer mitk::pa::VolumeManipulator::RescaleImage(Volume::Pointer image, double ratio, double sigma) { MITK_INFO << "Rescaling image.."; typedef itk::Image<double, 3> ImageType; typedef itk::ResampleImageFilter<ImageType, ImageType> FilterType; typedef itk::GaussianInterpolateImageFunction<ImageType, double> InterpolatorType; auto input = image->AsMitkImage(); ImageType::Pointer itkInput = ImageType::New(); mitk::CastToItkImage(input, itkInput); ImageType::SizeType outputSize; outputSize[0] = input->GetDimensions()[0] * ratio; outputSize[1] = input->GetDimensions()[1] * ratio; outputSize[2] = input->GetDimensions()[2] * ratio; FilterType::Pointer resampleImageFilter = FilterType::New(); resampleImageFilter->SetInput(itkInput); resampleImageFilter->SetSize(outputSize); if (sigma > mitk::eps) { auto interpolator = InterpolatorType::New(); interpolator->SetSigma(sigma); resampleImageFilter->SetInterpolator(interpolator); } resampleImageFilter->SetOutputSpacing(input->GetGeometry()->GetSpacing()[0] / ratio); MITK_INFO << "Update.."; resampleImageFilter->UpdateLargestPossibleRegion(); MITK_INFO << "Update..[Done]"; ImageType::Pointer output = resampleImageFilter->GetOutput(); mitk::Image::Pointer mitkOutput = mitk::Image::New(); GrabItkImageMemory(output, mitkOutput); MITK_INFO << "Rescaling image..[Done]"; return Volume::New(mitkOutput); }