54 m_Logger(itk::Logger::New()),
55 m_ProgressSourceDescription(
""),
57 m_DocLongDescription(
""),
65 m_Logger->SetName(
"Application.logger");
79 std::vector<std::string>
129 bool UseSpecificSeed =
false;
131 for (std::vector<std::string>::const_iterator it = paramList.begin(); it != paramList.end(); ++it)
133 std::string key = *it;
135 if ((key.compare(0, 4,
"rand") == 0) &&
HasValue(
"rand"))
137 UseSpecificSeed =
true;
146 if (!UseSpecificSeed)
166 unsigned int ram = 0;
167 for (std::vector<std::string>::const_iterator it = paramList.begin();
168 it != paramList.end();
171 std::string key = *it;
183 for (std::vector<std::string>::const_iterator it = paramList.begin();
184 it != paramList.end();
187 std::string key = *it;
198 std::ostringstream progressId;
199 progressId <<
"Writing " << outputParam->
GetFileName() <<
"...";
201 outputParam->
Write();
209 std::ostringstream progressId;
210 progressId <<
"Writing " << outputParam->
GetFileName() <<
"...";
212 outputParam->
Write();
224 std::ostringstream progressId;
225 progressId <<
"Writing " << outputParam->
GetFileName() <<
"...";
227 outputParam->
Write();
334 if (dynamic_cast<const ChoiceParameter*>(param))
338 else if (dynamic_cast<const ListViewParameter*>(param))
342 else if (dynamic_cast<const RadiusParameter*>(param))
346 else if (dynamic_cast<const EmptyParameter*>(param))
350 else if (dynamic_cast<const IntParameter*>(param))
354 else if (dynamic_cast<const FloatParameter*>(param))
358 else if (dynamic_cast<const InputFilenameParameter*>(param))
362 else if (dynamic_cast<const InputFilenameListParameter*>(param))
366 else if (dynamic_cast<const OutputFilenameParameter*>(param))
370 else if (dynamic_cast<const DirectoryParameter*>(param))
374 else if (dynamic_cast<const InputImageParameter*>(param))
378 else if (dynamic_cast<const InputImageListParameter*>(param))
382 else if (dynamic_cast<const ComplexInputImageParameter*>(param))
386 else if (dynamic_cast<const InputVectorDataParameter*>(param))
390 else if (dynamic_cast<const InputVectorDataListParameter*>(param))
394 else if (dynamic_cast<const OutputImageParameter*>(param))
398 else if (dynamic_cast<const ComplexOutputImageParameter*>(param))
402 else if (dynamic_cast<const OutputVectorDataParameter*>(param))
406 else if (dynamic_cast<const StringParameter*>(param))
410 else if (dynamic_cast<const StringListParameter*>(param))
414 else if (dynamic_cast<const RAMParameter*>(param))
418 else if (dynamic_cast<const ParameterGroup*>(param))
424 itkExceptionMacro(<<
"Unknown parameter : " << paramKey);
433 if (dynamic_cast<ChoiceParameter*>(param))
438 else if (dynamic_cast<ListViewParameter*>(param))
443 itkExceptionMacro(<< name <<
" is not a choice parameter");
449 if (dynamic_cast<ChoiceParameter*>(param))
454 else if (dynamic_cast<ListViewParameter*>(param))
459 itkExceptionMacro(<< name <<
" is not a choice parameter");
466 if (dynamic_cast<IntParameter*>(param))
471 else if (dynamic_cast<FloatParameter*>(param))
474 paramFloat->
SetValue(static_cast<float>(value));
476 else if (dynamic_cast<RadiusParameter*>(param))
479 paramRadius->
SetValue(static_cast<unsigned int>(value));
481 else if (dynamic_cast<ChoiceParameter*>(param))
492 if (dynamic_cast<FloatParameter*>(param))
503 if (dynamic_cast<RadiusParameter*>(param))
509 else if (dynamic_cast<IntParameter*>(param))
515 else if (dynamic_cast<FloatParameter*>(param))
519 paramFloat->
SetValue(static_cast<float>(value));
521 else if (dynamic_cast<RAMParameter*>(param))
525 paramRAM->
SetValue(static_cast<unsigned int>(value));
533 if (dynamic_cast<FloatParameter*>(param))
545 if (dynamic_cast<IntParameter*>(param))
551 itkExceptionMacro(<<parameter <<
"parameter can't be casted to int");
558 if (dynamic_cast<IntParameter*>(param))
564 itkExceptionMacro(<<parameter <<
"parameter can't be casted to int");
572 if (dynamic_cast<FloatParameter*>(param))
578 itkExceptionMacro(<<parameter <<
"parameter can't be casted to float");
585 if (dynamic_cast<FloatParameter*>(param))
591 itkExceptionMacro(<<parameter <<
"parameter can't be casted to float");
600 if (dynamic_cast<ChoiceParameter*>(param))
605 else if (dynamic_cast<ListViewParameter*>(param))
610 else if (dynamic_cast<StringParameter*>(param))
615 else if (dynamic_cast<InputFilenameParameter*>(param))
620 else if (dynamic_cast<OutputFilenameParameter*>(param))
625 else if (dynamic_cast<DirectoryParameter*>(param))
630 else if (dynamic_cast<FloatParameter*>(param))
635 else if (dynamic_cast<RadiusParameter*>(param))
640 else if (dynamic_cast<IntParameter*>(param))
645 else if (dynamic_cast<InputImageParameter*>(param))
652 else if (dynamic_cast<ComplexInputImageParameter*>(param))
657 else if (dynamic_cast<InputVectorDataParameter*>(param))
663 else if (dynamic_cast<OutputImageParameter*>(param))
668 else if (dynamic_cast<ComplexOutputImageParameter*>(param))
673 else if (dynamic_cast<OutputVectorDataParameter*>(param))
678 else if (dynamic_cast<RAMParameter*>(param))
689 if (dynamic_cast<InputImageListParameter*>(param))
695 else if (dynamic_cast<InputVectorDataListParameter*>(param))
701 else if (dynamic_cast<InputFilenameListParameter*>(param))
707 else if (dynamic_cast<StringListParameter*>(param))
712 else if(dynamic_cast<ListViewParameter *>(param))
723 if (dynamic_cast<OutputImageParameter*>(param))
734 if (dynamic_cast<ComplexOutputImageParameter*>(param))
745 if (dynamic_cast<OutputImageParameter*>(param))
757 if (dynamic_cast<ComplexOutputImageParameter*>(param))
767 if (dynamic_cast<OutputVectorDataParameter*>(param))
797 if (dynamic_cast<IntParameter*>(param))
802 else if (dynamic_cast<FloatParameter*>(param))
805 ret =
static_cast<int>(paramFloat->
GetValue());
807 else if (dynamic_cast<RadiusParameter*>(param))
812 else if (dynamic_cast<RAMParameter*>(param))
817 else if (dynamic_cast<ChoiceParameter*>(param))
824 itkExceptionMacro(<<parameter <<
"parameter can't be casted to int");
835 if (dynamic_cast<FloatParameter*> (param))
842 itkExceptionMacro(<<parameter <<
"parameter can't be casted to float");
853 if (dynamic_cast<ChoiceParameter*>(param))
857 size_t lastPointPos = choiceKey.find_last_of(
'.');
858 if(lastPointPos != std::string::npos)
860 ret = choiceKey.substr(lastPointPos);
867 else if (dynamic_cast<ListViewParameter*>(param))
871 size_t lastPointPos = choiceKey.find_last_of(
'.');
872 if(lastPointPos != std::string::npos)
874 ret = choiceKey.substr(lastPointPos);
881 else if (dynamic_cast<StringParameter*>(param))
886 else if (dynamic_cast<InputFilenameParameter*>(param))
891 else if (dynamic_cast<OutputFilenameParameter*>(param))
896 else if (dynamic_cast<DirectoryParameter*>(param))
901 else if (dynamic_cast<InputImageParameter*>(param))
906 else if (dynamic_cast<ComplexInputImageParameter*>(param))
911 else if (dynamic_cast<InputVectorDataParameter*>(param))
916 else if (dynamic_cast<OutputImageParameter*>(param))
921 else if (dynamic_cast<OutputVectorDataParameter*>(param))
928 itkExceptionMacro(<<parameter <<
"parameter can't be casted to string");
936 std::vector<std::string> ret;
939 if (dynamic_cast<InputImageListParameter*> (param))
944 else if (dynamic_cast<InputVectorDataListParameter*> (param))
949 else if (dynamic_cast<InputFilenameListParameter*> (param))
954 else if (dynamic_cast<StringListParameter*> (param))
961 itkExceptionMacro(<<parameter <<
"parameter can't be casted to StringList");
973 if (dynamic_cast<InputImageParameter*> (param))
980 itkExceptionMacro(<<parameter <<
"parameter can't be casted to ImageType");
991 if (dynamic_cast<InputImageListParameter*>(param))
998 itkExceptionMacro(<<parameter <<
"parameter can't be casted to ImageListType");
1009 if (dynamic_cast<ComplexInputImageParameter*>(param))
1016 itkExceptionMacro(<<parameter <<
"parameter can't be casted to ComplexImageType");
1027 if (dynamic_cast<InputVectorDataParameter*>(param))
1034 itkExceptionMacro(<<parameter <<
"parameter can't be casted to Vector Data");
1044 if (dynamic_cast<InputVectorDataListParameter*>(param))
1051 itkExceptionMacro(<<parameter <<
"parameter can't be casted to Vector Data List");
1073 std::ostringstream oss;
1079 std::ostringstream oss;
1086 std::ostringstream oss;
1087 oss << std::setprecision(10);
1089 for (
unsigned int i=0; i<strList.size(); i++)
1090 oss << strList[i] << std::endl;
1095 itkExceptionMacro(<<paramKey <<
" parameter can't be casted to string");
1105 if (dynamic_cast<OutputImageParameter*>(param))
1112 itkExceptionMacro(
"Unable to find PixelType in parameter "<<parameter<<
".");
1123 if (dynamic_cast<ComplexOutputImageParameter*>(param))
1130 itkExceptionMacro(
"Unable to find PixelType in parameter "<<parameter<<
".");
1175 "Available RAM (Mb)",
1182 "Available RAM (Mb)",
1208 std::vector< std::pair<std::string, std::string> >
1211 std::vector< std::pair<std::string, std::string> > res;
1213 for (std::vector<std::string>::const_iterator it = paramList.begin();
1214 it != paramList.end();
1224 std::pair<std::string, std::string> keyVal;
1225 keyVal.first = (*it);
1228 std::ostringstream oss;
1229 oss << std::setprecision(10);
1231 keyVal.second = oss.str();
1237 res.push_back( keyVal );
1251 for (std::vector<std::string>::const_iterator it = paramList.begin();
1252 it != paramList.end();
1267 otbDebugMacro(
"MISSING : "<< (*it).c_str() <<
" ( Is Root)");
1274 if (currentParam->
IsRoot())
1276 otbDebugMacro(
"MISSING : "<< (*it).c_str() <<
" ( Is Level 1)");
1282 while (!currentParam->
IsRoot())
1289 currentParam = currentParam->
GetRoot();
1293 if (currentParam->
IsRoot())
1296 otbDebugMacro(
"MISSING : "<< (*it).c_str() <<
" ( Is Level "<< level<<
")");
1316 event.SetProcessDescription(description);