- mFilter->SetOutputSize(mOutputSize);
- mFilter->SetOutputSpacing(mOutputSpacing);
- mFilter->SetInterpolationName(interpolationComboBox->currentText().toLower().toStdString());
-
- if (interpolationComboBox->currentText() == "BSpline")
- mFilter->SetBSplineOrder(bSplineOrderSpinBox->value());
- else if (interpolationComboBox->currentText() == "B-LUT (faster BSpline)") {
- mFilter->SetInterpolationName("blut");
- mFilter->SetBSplineOrder(bSplineOrderSpinBox->value());
- mFilter->SetBLUTSampling(bLUTSpinBox->value());
+ // Build ArgsInfo
+ clitk::ResampleImageGenericFilter::ArgsInfoType mArgsInfo;
+
+ // Initialisation to default
+ cmdline_parser_clitkResampleImage_init(&mArgsInfo);
+ mArgsInfo.input_given = 0;
+ mArgsInfo.output_given = 0;
+
+ // Size and spacing options
+ mArgsInfo.size_given = mDimension;
+ mArgsInfo.spacing_given = mDimension;
+ mArgsInfo.size_arg = new int[mDimension];
+ mArgsInfo.spacing_arg = new float[mDimension];
+ for(int i=0; i<mDimension; i++) {
+ mArgsInfo.size_arg[i] = mOutputSize[i];
+ mArgsInfo.spacing_arg[i] = mOutputSpacing[i];
+ }
+
+ if (sizeRadioButton->isChecked() ||
+ scaleSizeRadioButton->isChecked() ||
+ isoSizeRadioButton->isChecked()) {
+ mArgsInfo.spacing_given=0;
+ }
+ if (spacingRadioButton->isChecked() ||
+ scaleSpacingRadioButton->isChecked() ||
+ isoSpacingRadioButton->isChecked()) {
+ mArgsInfo.size_given=0;
+ }
+
+ // Interpolation options
+ std::string interp = interpolationComboBox->currentText().toLower().toStdString();
+ if (interp == "nn") SetArgOptionString(mArgsInfo.interp, std::string("nn"));
+ if (interp == "linear") SetArgOptionString(mArgsInfo.interp, std::string("linear"));
+ if (interp == "bspline") SetArgOptionString(mArgsInfo.interp, std::string("bspline"));
+ if (interp == "blut (faster bspline)") SetArgOptionString(mArgsInfo.interp, std::string("blut"));
+ if (interp == "windowed sinc") SetArgOptionString(mArgsInfo.interp, std::string("windowed sinc"));
+
+ if (interp == "bspline") {
+ mArgsInfo.order_arg = bSplineOrderSpinBox->value();