void transform(string inputFilename, string outputFilename) { typedef itk::Image< TPixelType, N > ImageType; typedef itk::ImageFileReader< ImageType > ReaderType; typedef itk::ImageFileWriter< ImageType > WriterType; typename ReaderType::Pointer reader = ReaderType::New(); itk::NiftiImageIO::Pointer io = itk::NiftiImageIO::New(); reader->SetImageIO(io); reader->SetFileName(inputFilename); try { reader->Update(); } catch( itk::ExceptionObject & e ) { std::cerr << "Exception caught while reading image " << std::endl; std::cerr << e << std::endl; } typename WriterType::Pointer writer = WriterType::New(); writer->SetImageIO(io); writer->SetFileName(outputFilename); writer->SetInput(reader->GetOutput()); try { writer->Update(); } catch( itk::ExceptionObject & e ) { std::cerr << "Exception caught while writing image " << std::endl; std::cerr << e << std::endl; } }
void ReadFile(std::string filename, typename TImageType::Pointer image) { typedef itk::ImageFileReader<TImageType> ReaderType; typename ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); image->Graft(reader->GetOutput()); }
template<class TImage> typename TImage::Pointer ttt::JSONTissueTrackingProject::readImage(const std::string & table, int frame) { typedef itk::ImageFileReader<TImage> ReaderType; typename ReaderType::Pointer reader = ReaderType::New(); std::stringstream ssQuery, ssFileName; try { ssQuery << "SELECT fileName FROM " << table << " WHERE " << table << ".idProject=? AND " << table << ".t=?"; std::auto_ptr<sql::PreparedStatement> prep_stmt( m_DB->prepareStatement(ssQuery.str())); prep_stmt->setInt(1, m_ProjectID); //IDproject==2 prep_stmt->setInt(2, frame); //IDproject==2 prep_stmt->execute(); std::auto_ptr<sql::ResultSet> res(prep_stmt->getResultSet()); assert(res->next()); std::string fileName = res->getString("fileName"); ssFileName << m_WorkingDirectory << "/" << fileName; reader->SetFileName(ssFileName.str()); ; reader->Update(); reader->GetOutput()->SetSpacing(m_Spacing); return reader->GetOutput(); } catch (sql::SQLException &e) { /* The MySQL Connector/C++ throws three different exceptions: - sql::MethodNotImplementedException (derived from sql::SQLException) - sql::InvalidArgumentException (derived from sql::SQLException) - sql::SQLException (derived from std::runtime_error) */ cout << "# ERR: SQLException in " << __FILE__; // cout << "(" << EXAMPLE_FUNCTION << ") on line " << __LINE__ << endl; /* Use what() (derived from std::runtime_error) to fetch the error message */ cout << "# ERR: " << e.what(); cout << " (MySQL error code: " << e.getErrorCode(); cout << ", SQLState: " << e.getSQLState() << " )" << endl; } return NULL; }
mitk::BaseData::Pointer mitk::RawImageFileReaderService::TypedRead(const std::string& path, EndianityType endianity, int* size) { typedef itk::Image< TPixel, VImageDimensions > ImageType; typedef itk::ImageFileReader< ImageType > ReaderType; typedef itk::RawImageIO< TPixel, VImageDimensions > IOType; typename ReaderType::Pointer reader = ReaderType::New(); typename IOType::Pointer io = IOType::New(); io->SetFileDimensionality(VImageDimensions); for (unsigned short int dim = 0; dim < VImageDimensions; ++dim) { io->SetDimensions(dim, size[dim] ); } if (endianity == LITTLE) { io->SetByteOrderToLittleEndian(); } else if (endianity == BIG) { io->SetByteOrderToBigEndian(); } else { MITK_INFO << "Warning: endianity not properly set. Resulting image might be incorrect"; } reader->SetImageIO( io ); reader->SetFileName(path); try { reader->Update(); } catch( itk::ExceptionObject & err ) { MITK_ERROR <<"An error occurred during the raw image reading process: "; MITK_INFO << err << std::endl; } mitk::Image::Pointer image = mitk::Image::New(); mitk::CastToMitkImage(reader->GetOutput(), image); image->SetVolume( reader->GetOutput()->GetBufferPointer()); return image.GetPointer(); }
template <typename T> typename T::Pointer readImage(const char *filename) { printf("Reading %s ... \n",filename); typedef typename itk::ImageFileReader<T> ReaderType; typename ReaderType::Pointer reader = ReaderType::New(); ReaderType::GlobalWarningDisplayOff(); reader->SetFileName(filename); try { reader->Update(); } catch(itk::ExceptionObject &err) { std::cerr << "ExceptionObject caught!" <<std::endl; std::cerr << err << std::endl; _exit(0); //return EXIT_FAILURE; } printf("Done\n"); return reader->GetOutput(); }
typename T::Pointer readImage(const std::string &filename) { std::cout << "Reading " << filename << " ..." << std::endl; typedef typename itk::ImageFileReader<T> ReaderType; typename ReaderType::Pointer reader = ReaderType::New(); ReaderType::GlobalWarningDisplayOff(); reader->SetFileName(filename); try { reader->Update(); } catch(itk::ExceptionObject &err) { std::cerr << "Exception object caught!" << std::endl; std::cerr << err << std::endl; } std::cout << "Done." << std::endl; return reader->GetOutput(); }
Volume* readScalarVolume(const std::string fileName) { typedef itk::Image<T,3> ImageNDType; typedef itk::ImageFileReader<ImageNDType> ReaderType; typename ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(fileName.c_str()); int status = 1; try { reader->Update(); status = 0; } catch(itk::ExceptionObject &excp) { throw tgt::FileException("ITK Exception: " + std::string(excp.GetDescription()), fileName); } if (status) { throw tgt::FileException("Other error reading file using ITK!", fileName); } return ITKToVoreenCopy<T>(reader->GetOutput()); }
int StartShConversion(int argc, char* argv[]) { ctkCommandLineParser parser; parser.setArgumentPrefix("--", "-"); parser.addArgument("input", "i", ctkCommandLineParser::String, "MITK SH image", us::Any(), false); parser.addArgument("output", "o", ctkCommandLineParser::String, "MRtrix SH image", us::Any(), false); parser.addArgument("shOrder", "sh", ctkCommandLineParser::Int, "spherical harmonics order"); map<string, us::Any> parsedArgs = parser.parseArguments(argc, argv); if (parsedArgs.size()==0) return EXIT_FAILURE; string inFile = us::any_cast<string>(parsedArgs["input"]); string outFile = us::any_cast<string>(parsedArgs["output"]); try { typedef itk::Image< float, 4 > OutImageType; typedef itk::Image< itk::Vector< float, (shOrder*shOrder + shOrder + 2)/2 + shOrder >, 3 > InputImageType; typename InputImageType::Pointer itkInImage = InputImageType::New(); typedef itk::ImageFileReader< InputImageType > ReaderType; typename ReaderType::Pointer reader = ReaderType::New(); MITK_INFO << "reading " << inFile; reader->SetFileName(inFile.c_str()); reader->Update(); itkInImage = reader->GetOutput(); // extract directions from fiber bundle typename itk::ShCoefficientImageExporter<float, shOrder>::Pointer filter = itk::ShCoefficientImageExporter<float,shOrder>::New(); filter->SetInputImage(itkInImage); filter->GenerateData(); OutImageType::Pointer outImage = filter->GetOutputImage(); typedef itk::ImageFileWriter< OutImageType > WriterType; WriterType::Pointer writer = WriterType::New(); MITK_INFO << "writing " << outFile; writer->SetFileName(outFile.c_str()); writer->SetInput(outImage); writer->Update(); MITK_INFO << "DONE"; } catch (itk::ExceptionObject e) { MITK_INFO << e; return EXIT_FAILURE; } catch (std::exception e) { MITK_INFO << e.what(); return EXIT_FAILURE; } catch (...) { MITK_INFO << "ERROR!?!"; return EXIT_FAILURE; } return EXIT_SUCCESS; }