35 mitk::Image::ConstPointer inputImage = this->GetInput();
36 mitk::Image::Pointer outputImage = this->GetOutput();
38 if(inputImage.IsNull() || inputImage->IsEmpty())
40 MITK_WARN <<
"Input image is not valid. Cannot save image!";
45 mitk::Image::Pointer inputClone = inputImage->Clone();
75 m_LoggedImages.push_back(inputClone);
76 m_LoggedMITKSystemTimes.push_back(m_SystemTimeClock->GetCurrentStamp());
94 filenames = std::vector<std::string>();
97 Poco::Path testPath(path);
98 if(!testPath.isDirectory())
100 mitkThrow() <<
"Attemting to write to directory " << path <<
" which is not valid! Aborting!";
104 mitk::UIDGenerator myGen = mitk::UIDGenerator();
105 std::string uniqueID = myGen.GetUID();
108 for(
size_t i=0; i<m_LoggedImages.size(); i++)
110 std::stringstream name;
111 name << path << uniqueID <<
"_Image_" << i << m_ImageExtension;
112 mitk::IOUtil::Save(m_LoggedImages.at(i),name.str());
113 filenames.push_back(name.str());
119 std::stringstream csvFilenameStream;
120 csvFilenameStream << path << uniqueID <<
"_ImageMessages.csv";
121 csvFileName = csvFilenameStream.str();
123 fb.open (csvFileName.c_str(),std::ios::out);
124 std::ostream os(&fb);
128 os <<
"image filename; MITK system timestamp; message\n";
131 for(
size_t i=0; i<m_LoggedImages.size(); i++)
133 std::map<int, std::string>::iterator it = m_LoggedMessages.find(i);
134 if (m_LoggedMessages.empty() || (it == m_LoggedMessages.end())) os << filenames.at(i) <<
";" << m_LoggedMITKSystemTimes.at(i) <<
";" <<
"" <<
"\n";
135 else os << filenames.at(i) <<
";" << m_LoggedMITKSystemTimes.at(i) <<
";" << it->second <<
"\n";
144 if(extension.compare(0,1,
".") == 0)
145 extension = extension.substr(1,extension.size()-1);
147 CoreServicePointer<IMimeTypeProvider> mimeTypeProvider(CoreServices::GetMimeTypeProvider());
149 std::vector<MimeType> mimeTypes = mimeTypeProvider->GetMimeTypesForCategory(IOMimeTypes::CATEGORY_IMAGES());
151 for(std::vector<MimeType>::size_type i = 0 ; i< mimeTypes.size() ; ++i)
153 std::vector<std::string> extensions = mimeTypes[i].GetExtensions();
154 if (std::find(extensions.begin(), extensions.end(), extension) != extensions.end())
156 m_ImageExtension =
"."+extension;