- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
======================================================================-====*/
+#include "clitkLabelImageOverlapMeasureFilter.h"
//--------------------------------------------------------------------
template <class TImageType>
clitk::RelativePositionList<TImageType>::
RelativePositionList() {
+ ComputeOverlapFlagOff();
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+template <class TImageType>
+void
+clitk::RelativePositionList<TImageType>::
+SetReferenceImageForOverlapMeasure(ImagePointer ref) {
+ m_reference = ref;
+ ComputeOverlapFlagOn();
}
//--------------------------------------------------------------------
std::ofstream os;
openFileForWriting(os, tmpfilename);
os << text;
+ os << "input = nothing" << std::endl;
+ os << "output = nothing" << std::endl;
os.close();
// Create a struct to store options. I use two step to allow to
std::copy(tmpfilename.begin(), tmpfilename.end(), writable.begin());
char ** argv = new char*[1];
argv[0] = new char[1];
- cmdline_parser_clitkRelativePosition2(1, argv, &args_info, 1, 1, 0);
- args_info.input_given = 1;
- args_info.input_arg = new char[1];
- args_info.output_given = 1;
- args_info.output_arg = new char[1];
- cmdline_parser_clitkRelativePosition_configfile(&writable[0], &args_info, 0, 0, 1);
-
- // Store the args
+ struct cmdline_parser_clitkRelativePosition_params params;
+ params.override = 0;
+ params.initialize = 1;
+ params.check_required = 0;
+ cmdline_parser_clitkRelativePosition_configfile(&writable[0], &args_info, 1, 1, 1);
mArgsInfoList.push_back(args_info);
// Delete the temporary file
if (mArgsInfoList[i].orientation_given) text += std::string(mArgsInfoList[i].orientation_arg[0])+" ";
else text = text+"("+toString(mArgsInfoList[i].angle1_arg)+" "+
toString(mArgsInfoList[i].angle2_arg)+" "+
- (mArgsInfoList[i].inverse_flag==true?"true":"false")+") ";
+ (mArgsInfoList[i].inverse_flag?"true":"false")+") ";
text = text+mArgsInfoList[i].object_arg+" "+toString(mArgsInfoList[i].threshold_arg);
if (mArgsInfoList[i].sliceBySlice_flag) {
text += " slice by slice";
}
else text += " 3D";
+ text += " spacing=" + toString(mArgsInfoList[i].spacing_arg);
StartNewStep(text);
typename RelPosFilterType::Pointer relPosFilter;
relPosFilter->Update();
m_working_input = relPosFilter->GetOutput();
StopCurrentStep<ImageType>(m_working_input);
- // clitk::PrintMemory(true, "End");
+
+ // Compute overlap with reference if needed
+ if (GetComputeOverlapFlag()) {
+ typedef clitk::LabelImageOverlapMeasureFilter<ImageType> FilterType;
+ typename FilterType::Pointer filter = FilterType::New();
+ filter->SetInput(0, m_working_input);
+ filter->SetInput(1, m_reference);
+ filter->Update();
+ }
+
}
}
//--------------------------------------------------------------------