Example #1
0
void   
Edge::Set(std::string name, FADA_Index* i, Condition* valid,FADA_Index*s){
SetVariableName(name);
SetIndex(i);
SetCondition(valid);
SetSigma(s);
}
Example #2
0
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);
}