- if (gaussianFilterCheckBox->isChecked())
- mFilter->SetGaussianSigma(sigma);
- // mFilter->SetOutputFileName(OutputFileName.toStdString());
- mFilter->SetDefaultPixelValue(defaultPixelValueLineEdit->text().toDouble());
+
+ // 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();
+ }
+ else {
+ if (interp == "blut (faster bspline)") {
+ mArgsInfo.order_arg = bSplineOrderSpinBox->value();
+ mArgsInfo.sampling_arg = bLUTSpinBox->value();
+ }
+ }
+
+ // Gauss
+ if (gaussianFilterCheckBox->isChecked()) {
+ mArgsInfo.gauss_given = mDimension;
+ mArgsInfo.gauss_arg = new float[mDimension];
+ for(int i=0; i<mDimension; i++) {
+ mArgsInfo.gauss_arg[i] = sigma[i];
+ }
+ }
+ mArgsInfo.default_arg = defaultPixelValueLineEdit->text().toDouble();
+
+ // Thread
+ mArgsInfo.thread_arg = QThread::idealThreadCount();
+ mArgsInfo.thread_given = 1;
+
+ // Set options to filter
+ mFilter->SetArgsInfo(mArgsInfo);