53 m_Logger(itk::Logger::New()),
54 m_ProgressSourceDescription(
""),
56 m_DocLongDescription(
""),
64 m_Logger->SetName(
"Application.logger");
78 std::vector<std::string>
128 bool UseSpecificSeed =
false;
130 for (std::vector<std::string>::const_iterator it = paramList.begin(); it != paramList.end(); ++it)
132 std::string key = *it;
134 if ((key.compare(0, 4,
"rand") == 0) &&
HasValue(
"rand"))
136 UseSpecificSeed =
true;
145 if (!UseSpecificSeed)
165 unsigned int ram = 0;
166 for (std::vector<std::string>::const_iterator it = paramList.begin();
167 it != paramList.end();
170 std::string key = *it;
182 for (std::vector<std::string>::const_iterator it = paramList.begin();
183 it != paramList.end();
186 std::string key = *it;
197 std::ostringstream progressId;
198 progressId <<
"Writing " << outputParam->
GetFileName() <<
"...";
200 outputParam->
Write();
208 std::ostringstream progressId;
209 progressId <<
"Writing " << outputParam->
GetFileName() <<
"...";
211 outputParam->
Write();
223 std::ostringstream progressId;
224 progressId <<
"Writing " << outputParam->
GetFileName() <<
"...";
226 outputParam->
Write();
333 if (dynamic_cast<const ChoiceParameter*>(param))
337 else if (dynamic_cast<const ListViewParameter*>(param))
341 else if (dynamic_cast<const RadiusParameter*>(param))
345 else if (dynamic_cast<const EmptyParameter*>(param))
349 else if (dynamic_cast<const IntParameter*>(param))
353 else if (dynamic_cast<const FloatParameter*>(param))
357 else if (dynamic_cast<const InputFilenameParameter*>(param))
361 else if (dynamic_cast<const OutputFilenameParameter*>(param))
365 else if (dynamic_cast<const DirectoryParameter*>(param))
369 else if (dynamic_cast<const InputImageParameter*>(param))
373 else if (dynamic_cast<const InputImageListParameter*>(param))
377 else if (dynamic_cast<const ComplexInputImageParameter*>(param))
381 else if (dynamic_cast<const InputVectorDataParameter*>(param))
385 else if (dynamic_cast<const InputVectorDataListParameter*>(param))
389 else if (dynamic_cast<const OutputImageParameter*>(param))
393 else if (dynamic_cast<const ComplexOutputImageParameter*>(param))
397 else if (dynamic_cast<const OutputVectorDataParameter*>(param))
401 else if (dynamic_cast<const StringParameter*>(param))
405 else if (dynamic_cast<const StringListParameter*>(param))
409 else if (dynamic_cast<const RAMParameter*>(param))
413 else if (dynamic_cast<const ParameterGroup*>(param))
419 itkExceptionMacro(<<
"Unknown parameter : " << paramKey);
428 if (dynamic_cast<ChoiceParameter*>(param))
433 else if (dynamic_cast<ListViewParameter*>(param))
438 itkExceptionMacro(<< name <<
" is not a choice parameter");
444 if (dynamic_cast<ChoiceParameter*>(param))
449 else if (dynamic_cast<ListViewParameter*>(param))
454 itkExceptionMacro(<< name <<
" is not a choice parameter");
461 if (dynamic_cast<IntParameter*>(param))
466 else if (dynamic_cast<FloatParameter*>(param))
469 paramFloat->
SetValue(static_cast<float>(value));
471 else if (dynamic_cast<RadiusParameter*>(param))
474 paramRadius->
SetValue(static_cast<unsigned int>(value));
476 else if (dynamic_cast<ChoiceParameter*>(param))
487 if (dynamic_cast<FloatParameter*>(param))
498 if (dynamic_cast<RadiusParameter*>(param))
504 else if (dynamic_cast<IntParameter*>(param))
510 else if (dynamic_cast<FloatParameter*>(param))
514 paramFloat->
SetValue(static_cast<float>(value));
516 else if (dynamic_cast<RAMParameter*>(param))
520 paramRAM->
SetValue(static_cast<unsigned int>(value));
528 if (dynamic_cast<FloatParameter*>(param))
540 if (dynamic_cast<IntParameter*>(param))
546 itkExceptionMacro(<<parameter <<
"parameter can't be casted to int");
553 if (dynamic_cast<IntParameter*>(param))
559 itkExceptionMacro(<<parameter <<
"parameter can't be casted to int");
567 if (dynamic_cast<FloatParameter*>(param))
573 itkExceptionMacro(<<parameter <<
"parameter can't be casted to float");
580 if (dynamic_cast<FloatParameter*>(param))
586 itkExceptionMacro(<<parameter <<
"parameter can't be casted to float");
595 if (dynamic_cast<ChoiceParameter*>(param))
600 else if (dynamic_cast<ListViewParameter*>(param))
605 else if (dynamic_cast<StringParameter*>(param))
610 else if (dynamic_cast<InputFilenameParameter*>(param))
615 else if (dynamic_cast<OutputFilenameParameter*>(param))
620 else if (dynamic_cast<DirectoryParameter*>(param))
625 else if (dynamic_cast<FloatParameter*>(param))
630 else if (dynamic_cast<RadiusParameter*>(param))
635 else if (dynamic_cast<IntParameter*>(param))
640 else if (dynamic_cast<InputImageParameter*>(param))
647 else if (dynamic_cast<ComplexInputImageParameter*>(param))
652 else if (dynamic_cast<InputVectorDataParameter*>(param))
658 else if (dynamic_cast<OutputImageParameter*>(param))
663 else if (dynamic_cast<ComplexOutputImageParameter*>(param))
668 else if (dynamic_cast<OutputVectorDataParameter*>(param))
673 else if (dynamic_cast<RAMParameter*>(param))
684 if (dynamic_cast<InputImageListParameter*>(param))
690 else if (dynamic_cast<InputVectorDataListParameter*>(param))
696 else if (dynamic_cast<StringListParameter*>(param))
707 if (dynamic_cast<OutputImageParameter*>(param))
718 if (dynamic_cast<ComplexOutputImageParameter*>(param))
729 if (dynamic_cast<OutputImageParameter*>(param))
741 if (dynamic_cast<ComplexOutputImageParameter*>(param))
751 if (dynamic_cast<OutputVectorDataParameter*>(param))
781 if (dynamic_cast<IntParameter*>(param))
786 else if (dynamic_cast<FloatParameter*>(param))
789 ret =
static_cast<int>(paramFloat->
GetValue());
791 else if (dynamic_cast<RadiusParameter*>(param))
796 else if (dynamic_cast<RAMParameter*>(param))
801 else if (dynamic_cast<ChoiceParameter*>(param))
808 itkExceptionMacro(<<parameter <<
"parameter can't be casted to int");
819 if (dynamic_cast<FloatParameter*> (param))
826 itkExceptionMacro(<<parameter <<
"parameter can't be casted to float");
837 if (dynamic_cast<ChoiceParameter*>(param))
841 size_t lastPointPos = choiceKey.find_last_of(
'.');
842 if(lastPointPos != std::string::npos)
844 ret = choiceKey.substr(lastPointPos);
851 else if (dynamic_cast<ListViewParameter*>(param))
855 size_t lastPointPos = choiceKey.find_last_of(
'.');
856 if(lastPointPos != std::string::npos)
858 ret = choiceKey.substr(lastPointPos);
865 else if (dynamic_cast<StringParameter*>(param))
870 else if (dynamic_cast<InputFilenameParameter*>(param))
875 else if (dynamic_cast<OutputFilenameParameter*>(param))
880 else if (dynamic_cast<DirectoryParameter*>(param))
885 else if (dynamic_cast<InputImageParameter*>(param))
890 else if (dynamic_cast<ComplexInputImageParameter*>(param))
895 else if (dynamic_cast<InputVectorDataParameter*>(param))
900 else if (dynamic_cast<OutputImageParameter*>(param))
905 else if (dynamic_cast<OutputVectorDataParameter*>(param))
912 itkExceptionMacro(<<parameter <<
"parameter can't be casted to string");
920 std::vector<std::string> ret;
923 if (dynamic_cast<InputImageListParameter*> (param))
929 if (dynamic_cast<InputVectorDataListParameter*> (param))
935 if (dynamic_cast<StringListParameter*> (param))
942 itkExceptionMacro(<<parameter <<
"parameter can't be casted to StringList");
954 if (dynamic_cast<InputImageParameter*> (param))
961 itkExceptionMacro(<<parameter <<
"parameter can't be casted to ImageType");
972 if (dynamic_cast<InputImageListParameter*>(param))
979 itkExceptionMacro(<<parameter <<
"parameter can't be casted to ImageListType");
990 if (dynamic_cast<ComplexInputImageParameter*>(param))
997 itkExceptionMacro(<<parameter <<
"parameter can't be casted to ComplexImageType");
1008 if (dynamic_cast<InputVectorDataParameter*>(param))
1015 itkExceptionMacro(<<parameter <<
"parameter can't be casted to Vector Data");
1025 if (dynamic_cast<InputVectorDataListParameter*>(param))
1032 itkExceptionMacro(<<parameter <<
"parameter can't be casted to Vector Data List");
1054 std::ostringstream oss;
1060 std::ostringstream oss;
1067 std::ostringstream oss;
1068 oss << std::setprecision(10);
1070 for (
unsigned int i=0; i<strList.size(); i++)
1071 oss << strList[i] << std::endl;
1076 itkExceptionMacro(<<paramKey <<
" parameter can't be casted to string");
1086 if (dynamic_cast<OutputImageParameter*>(param))
1093 itkExceptionMacro(
"Unable to find PixelType in parameter "<<parameter<<
".");
1104 if (dynamic_cast<ComplexOutputImageParameter*>(param))
1111 itkExceptionMacro(
"Unable to find PixelType in parameter "<<parameter<<
".");
1156 "Available RAM (Mb)",
1163 "Available RAM (Mb)",
1189 std::vector< std::pair<std::string, std::string> >
1192 std::vector< std::pair<std::string, std::string> > res;
1194 for (std::vector<std::string>::const_iterator it = paramList.begin();
1195 it != paramList.end();
1205 std::pair<std::string, std::string> keyVal;
1206 keyVal.first = (*it);
1209 std::ostringstream oss;
1210 oss << std::setprecision(10);
1212 keyVal.second = oss.str();
1218 res.push_back( keyVal );
1232 for (std::vector<std::string>::const_iterator it = paramList.begin();
1233 it != paramList.end();
1248 otbDebugMacro(
"MISSING : "<< (*it).c_str() <<
" ( Is Root)");
1255 if (currentParam->
IsRoot())
1257 otbDebugMacro(
"MISSING : "<< (*it).c_str() <<
" ( Is Level 1)");
1263 while (!currentParam->
IsRoot())
1270 currentParam = currentParam->
GetRoot();
1274 if (currentParam->
IsRoot())
1277 otbDebugMacro(
"MISSING : "<< (*it).c_str() <<
" ( Is Level "<< level<<
")");
1297 event.SetProcessDescription(description);