mArgsInfo=a;
// Set value
- SetIOVerbose(mArgsInfo.verbose_flag);
+ this->SetIOVerbose(mArgsInfo.verbose_flag);
mTypeOfOperation = mArgsInfo.operation_arg;
mDefaultPixelValue = mArgsInfo.pixelValue_arg;
mScalar = mArgsInfo.scalar_arg;
if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes();
- if (mArgsInfo.input1_given) AddInputFilename(mArgsInfo.input1_arg);
+ if (mArgsInfo.input1_given) this->AddInputFilename(mArgsInfo.input1_arg);
if (mArgsInfo.input2_given) {
mIsOperationUseASecondImage = true;
- AddInputFilename(mArgsInfo.input2_arg);
+ this->AddInputFilename(mArgsInfo.input2_arg);
}
- if (mArgsInfo.output_given) SetOutputFilename(mArgsInfo.output_arg);
+ if (mArgsInfo.output_given) this->SetOutputFilename(mArgsInfo.output_arg);
// Check type of operation (with scalar or with other image)
if ((mArgsInfo.input2_given) && (mArgsInfo.scalar_given)) {
++ito;
}
break;
+ case 13: // -ln I/I0
+ while (!it.IsAtEnd()) {
+ if (it.Get() == 0) { // special case for fluence image with 0 value in a pixel -> consider 0.5
+ ito.Set(-log(0.5 / mScalar) );
+ }
+ else {
+ ito.Set(PixelTypeDownCast<double, PixelType>(-log((double)it.Get() / mScalar)) );
+ }
+ ++it;
+ ++ito;
+ }
+ break;
default: // error ?
std::cerr << "ERROR : the operation number (" << mTypeOfOperation << ") is not known." << std::endl;
exit(-1);
}
//--------------------------------------------------------------------
+
+
} // end namespace
#endif //#define CLITKIMAGEARITHMGENERICFILTER_TXX