本文整理汇总了C++中readertype::Pointer::SetFileName方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::SetFileName方法的具体用法?C++ Pointer::SetFileName怎么用?C++ Pointer::SetFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类readertype::Pointer
的用法示例。
在下文中一共展示了Pointer::SetFileName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char* argv[])
{
typedef itk::Image<float, 3> ImageType;
typedef itk::ImageFileReader<ImageType> ReaderType;
const char* filenamereader = "/Users/Fabian/Documents/Pruebas/Prueba ITK/Archivo Binary/m1.mhd";
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(filenamereader);
reader->Update();
typedef itk::ScalarToFractalImageFilter<ImageType,ImageType> FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInput(reader->GetOutput());
FilterType::RadiusType radius;
radius.Fill(3);
filter->SetNeighborhoodRadius(radius);
filter->Update();
// typedef itk::ImageFileWriter<ImageType> WriterType;
// const char* filenamewriter = "xy14_filter.bmp";
// WriterType::Pointer writer = WriterType::New();
// writer->SetFileName(filenamewriter);
// writer->SetInput(filter->GetOutput());
// writer->Update();
return 0;
}
示例2: tr
void MriWatcherGUI::LoadImg2()
{
QString filename = QFileDialog::getOpenFileName(
this,
tr("Select one image files to open"),
QDir::currentPath(),
tr("*.jpg *.gipl* *.raw* *.hdr *.mha *.mhd* *.nhdr* *nrrd* *nii*") );
if( filename != NULL )
{
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( filename.toLatin1().constData() );
try
{
reader->Update();
}
catch( itk::ExceptionObject & e )
{
QMessageBox::information( this, "MriWatcher", "Unable to load file:\n" + filename.toLatin1() );
return;
}
m_originalimage = reader->GetOutput();
if( m_originalimage.IsNotNull() )
{
m_imagemanager.SetTargetImage(m_originalimage);
g_alpha->setValue(50);
// g_overlay_alpha_slider->setEnabled(true);
}
g_loadimg2->setDown(false);
}
}
示例3: LoadImage
// ------------------------------------------------------------------------
void LoadImage(const std::string &filename, ImageType::Pointer &image)
{
typedef itk::Image<unsigned short, 4> InImageType;
typedef itk::ImageFileReader<InImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(filename);
reader->SetImageIO(itk::NrrdImageIO::New());
reader->Update();
typedef itk::ExtractImageFilter<InImageType, ImageType> ExtractorType;
ExtractorType::Pointer extractor = ExtractorType::New();
extractor->SetInput(reader->GetOutput());
InImageType::RegionType exRegion = reader->GetOutput()->GetLargestPossibleRegion();
InImageType::SizeType exSize = exRegion.GetSize();
InImageType::IndexType exIndex = exRegion.GetIndex();
exSize[3] = 0;
exIndex[3] = 0;
exRegion.SetSize(exSize);
exRegion.SetIndex(exIndex);
extractor->SetExtractionRegion(exRegion);
extractor->SetDirectionCollapseToSubmatrix();
extractor->Update();
image = extractor->GetOutput();
}
示例4: on_actionReplaceDepthImage_activated
void PTXViewerWidget::on_actionReplaceDepthImage_activated()
{
QString fileName = QFileDialog::getOpenFileName(this, "Open Depth Image", "", "Image Files (*.mha)");
if(fileName.toStdString().empty())
{
std::cout << "Filename was empty." << std::endl;
return;
}
typedef itk::ImageFileReader<PTXImage::FloatImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(fileName.toStdString());
reader->Update();
//this->PTX.ReplaceDepth(reader->GetOutput());
QFuture<void> readerFuture = QtConcurrent::run(&PTX, &PTXImage::ReplaceDepth, reader->GetOutput());
this->FutureWatcher.setFuture(readerFuture);
this->ProgressDialog->setLabelText("Opening depth image...");
this->ProgressDialog->exec();
Display();
this->statusBar()->showMessage("Replaced depth image.");
}
示例5: LoadOverlay
void MriWatcherGUI::LoadOverlay(const QString& filename2)
{
ReaderType::Pointer reader = ReaderType::New();
QString filename = filename2;
filename.replace( QRegExp("\\"), "/" );
reader->SetFileName( filename.toLatin1().constData() );
try
{
reader->Update();
}
catch( itk::ExceptionObject & e )
{
// std::cerr << "Exception in file reader " << std::endl;
// std::cerr << e << std::endl;
QMessageBox::information( this, "MriWatcher", "Unable to load file:\n" + filename);
return;
}
for( unsigned int i = 0; i < m_imageframelist.size(); i++ )
{
m_imageframelist[i]->g_imageframe->SetInputOverlay(reader->GetOutput() );
m_originalimage = reader->GetOutput();
if( m_originalimage.IsNotNull() )
{
m_imagemanager.SetSourceOverlay(m_originalimage);
g_slice_slider->setEnabled(true);
g_overlay_alpha_slider->setEnabled(true);
}
g_loadimg->setDown(false);
g_loadoverlay->setDown(false);
}
}
示例6: main
int main (int argc, char *argv[])
{
if(argc != 4)
{
std::cout << "Required arguments: InputFilename(ptx) MaskFilename(png) OutputFilePrefix" << std::endl;
return EXIT_FAILURE;
}
std::string inputFilename = argv[1];
std::string maskFilename = argv[2];
std::string outputFilePrefix = argv[3];
typedef itk::ImageFileReader<itk::Image<unsigned char, 2> > ReaderType;
ReaderType::Pointer maskReader = ReaderType::New();
maskReader->SetFileName(maskFilename);
maskReader->Update();
PTXImage ptxImage = PTXReader::Read(inputFilename);
ptxImage.ApplyMask(maskReader->GetOutput());
ptxImage.WriteRGBImage(outputFilePrefix);
std::stringstream pointsss;
pointsss << outputFilePrefix << ".vtp";
ptxImage.WritePointCloud(pointsss.str());
return EXIT_SUCCESS;
}
示例7: loadImageSeries
// ------------------------------------------------------------------------
void loadImageSeries(SeriesTransform &series,
const unsigned int &instanceNumbers)
{
// resize the image vector
series.images.resize(series.imageFilenames.size());
typedef itk::GDCMImageIO IOType;
typedef itk::ImageFileReader<ImageType> ReaderType;
for(unsigned int i = 0; i < instanceNumbers; i++)
{
ReaderType::Pointer reader = ReaderType::New();
reader->SetImageIO(IOType::New());
reader->SetFileName(series.imageFilenames[i]);
try
{
reader->Update();
}
catch(itk::ExceptionObject &e)
{
std::cout << e << std::endl;
exit(1);
}
series.images[i] = reader->GetOutput();
}
}
示例8: main
int main(int argc, char *argv[])
{
std::string inputFileName = argv[1];
std::string outputPrefix = argv[2];
std::cout << "Input: " << inputFileName << std::endl;
std::cout << "Output prefix: " << outputPrefix << std::endl;
typedef itk::ImageFileReader<FloatVectorImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(inputFileName);
reader->Update();
HelpersOutput::WriteVectorImageAsRGB(reader->GetOutput(), outputPrefix + "/Image.mha");
WriteImagePixelsToRGBSpace(reader->GetOutput(), outputPrefix + "/ImageColors.vtp");
WriteClusteredPixelsInRGBSpace(reader->GetOutput(), 20, outputPrefix + "/ImageColorsClustered.vtp");
FloatVectorImageType::Pointer blurred = FloatVectorImageType::New();
//float blurVariance = 2.0f; // almost no visible blurring
//float blurVariance = 10.0f; // slight blurring of concrete
float blurVariance = 30.0f;
Helpers::AnisotropicBlurAllChannels<FloatVectorImageType>(reader->GetOutput(), blurred, blurVariance);
HelpersOutput::WriteVectorImageAsRGB(blurred, outputPrefix + "/BlurredImage.mha");
WriteImagePixelsToRGBSpace(blurred, outputPrefix + "/BlurredImageColors.vtp");
WriteClusteredPixelsInRGBSpace(blurred, 20, outputPrefix + "/BlurredImageColorsClustered.vtp");
return EXIT_SUCCESS;
}
示例9: on_btnOpen_clicked
void Form::on_btnOpen_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this, "Open File", ".", "Image Files (*.jpg *.jpeg *.bmp *.png)");
std::cout << "Got filename: " << fileName.toStdString() << std::endl;
if(fileName.toStdString().empty())
{
std::cout << "Filename was empty." << std::endl;
return;
}
/*
typedef itk::RGBPixel<unsigned char> RGBPixelType;
typedef itk::Image<RGBPixelType> RGBImageType;
typedef itk::ImageFileReader<RGBImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(fileName.toStdString());
reader->Update();
RGBImageType::Pointer itkimage = reader->GetOutput();
*/
//typedef itk::VectorImage<unsigned char, 2> ImageType;
typedef itk::VectorImage<char, 2> ImageType;
typedef itk::ImageFileReader<ImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(fileName.toStdString());
reader->Update();
ImageType::Pointer itkimage = reader->GetOutput();
QImage image(itkimage->GetLargestPossibleRegion().GetSize()[0], itkimage->GetLargestPossibleRegion().GetSize()[1], QImage::Format_RGB32);
itk::ImageRegionIterator<ImageType> imageIterator(itkimage, itkimage->GetLargestPossibleRegion());
QColor black(0,0,0);
while(!imageIterator.IsAtEnd())
{
ImageType::PixelType pixel = imageIterator.Get();
//QRgb qtPixel(pixel[0], pixel[1], pixel[2]);
//image.setPixel(imageIterator.GetIndex()[0], imageIterator.GetIndex()[1], QColor(pixel[0], pixel[1], pixel[2]).rgb());
image.setPixel(imageIterator.GetIndex()[0], imageIterator.GetIndex()[1], black.rgb());
++imageIterator;
}
//QPixmap image;
//image.loadFromData(itkimage->GetBufferPointer());
QGraphicsScene* scene = new QGraphicsScene();
//scene->addPixmap(image);
scene->addPixmap(QPixmap::fromImage(image));
this->graphicsView->setScene(scene);
}
示例10: main
int main(int argc, char** argv) {
if(argc != 3){
std::cout << "Usage: Test2DImage inputFilename outputFilename";
return 1;
}
typedef signed int InputPixelType;
const unsigned int Dimension = 2;
typedef itk::Image<InputPixelType, Dimension> InputImageType;
typedef itk::RGBPixel<unsigned char> RGBPixelType;
typedef itk::Image<RGBPixelType, 2> RGBImageType;
typedef itk::ImageFileReader<InputImageType> ReaderType;
typedef itk::ImageFileWriter<RGBImageType> WriterType;
typedef itk::GDCMImageIO ImageIOType;
typedef itk::GradientAnisotropicDiffusionImageFilter<InputImageType,
InputImageType> DiffusionFilterType;
typedef itk::GradientMagnitudeImageFilter<InputImageType, InputImageType>
GradientMagnitudeFilterType;
typedef itk::Functor::ScalarToRGBPixelFunctor<int> ColorMapFunctorType;
typedef itk::UnaryFunctorImageFilter<InputImageType,
RGBImageType, ColorMapFunctorType> ColorMapFilterType;
typedef itk::JPEGImageIO JImageIOType;
ReaderType::Pointer reader = ReaderType::New();
WriterType::Pointer writer = WriterType::New();
ImageIOType::Pointer GDCMImageIO = ImageIOType::New();
JImageIOType::Pointer JPEGImageIO = JImageIOType::New();
ColorMapFilterType::Pointer colormapper = ColorMapFilterType::New();
reader->SetFileName(argv[1]);
reader->SetImageIO(GDCMImageIO);
try {
reader->Update();
}
catch (itk::ExceptionObject & e) {
std::cerr << "exception in file reader " << std::endl;
std::cerr << e << std::endl;
return 1;
}
DiffusionFilterType::Pointer diffusion = DiffusionFilterType::New();
diffusion->SetNumberOfIterations(1);
diffusion->SetConductanceParameter(4);
diffusion->SetTimeStep(0.125);
GradientMagnitudeFilterType::Pointer gradient = GradientMagnitudeFilterType::New();
diffusion->SetInput(reader->GetOutput());
gradient->SetInput(diffusion->GetOutput());
gradient->Update();
MyWatershedSegmenter<InputImageType> watershed(gradient->GetOutput());
watershed.buildLowerCompleteImage();
watershed.buildLabeledImage();
colormapper->SetInput(watershed.returnFinalImage());
writer->SetInput(colormapper->GetOutput());
writer->UseInputMetaDataDictionaryOff();
writer->SetImageIO(JPEGImageIO);
writer->SetFileName(argv[2]);
writer->Update();
}
示例11: main
int main( int argc, char * argv[] )
{
if( argc < 7 )
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << std::endl;
std::cerr << " <InputImage> <OutputImage> <LowerThreshold>";
std::cerr << " <UpperThreshold> <OutsideValue> <InsideValue>"
<< std::endl;
return EXIT_FAILURE;
}
const unsigned int Dimension = 2;
typedef unsigned char PixelType;
const char * InputImage = argv[1];
const char * OutputImage = argv[2];
const PixelType LowerThreshold = static_cast<PixelType>(atoi( argv[3] ) );
const PixelType UpperThreshold = static_cast<PixelType>(atoi( argv[4] ) );
const PixelType OutsideValue = static_cast<PixelType>(atoi( argv[5] ) );
const PixelType InsideValue = static_cast<PixelType>(atoi( argv[6] ) );
typedef itk::Image< PixelType, Dimension > ImageType;
typedef itk::ImageFileReader< ImageType > ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( InputImage );
typedef itk::BinaryThresholdImageFilter< ImageType, ImageType >
FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInput( reader->GetOutput() );
filter->SetLowerThreshold( LowerThreshold );
filter->SetUpperThreshold( UpperThreshold );
filter->SetOutsideValue( OutsideValue );
filter->SetInsideValue( InsideValue );
typedef itk::ImageFileWriter< ImageType > WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName( OutputImage );
writer->SetInput( filter->GetOutput() );
try
{
writer->Update();
}
catch( itk::ExceptionObject & e )
{
std::cerr << "Error: " << e << std::endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
示例12: extractPointAndNormalFromMask
bool extractPointAndNormalFromMask(string filename, CVector3 &point, CVector3 &normal1, CVector3 &normal2)
{
ReaderType::Pointer reader = ReaderType::New();
itk::NiftiImageIO::Pointer io = itk::NiftiImageIO::New();
reader->SetImageIO(io);
reader->SetFileName(filename);
try {
reader->Update();
} catch( itk::ExceptionObject & e ) {
cerr << "Exception caught while reading input image " << endl;
cerr << e << endl;
return false;
}
ImageType::Pointer image = reader->GetOutput();
vector<CVector3> result;
ImageType::IndexType ind;
itk::Point<double,3> pnt;
ImageIterator it( image, image->GetRequestedRegion() );
it.GoToBegin();
while(!it.IsAtEnd())
{
if (it.Get()!=0)
{
ind = it.GetIndex();
image->TransformIndexToPhysicalPoint(ind, pnt);
bool added = false;
if (result.size() == 0) {
result.push_back(CVector3(pnt[0],pnt[1],pnt[2]));
added = true;
}
else {
for (vector<CVector3>::iterator it=result.begin(); it!=result.end(); it++) {
if (pnt[2] < (*it)[2]) {
result.insert(it, CVector3(pnt[0],pnt[1],pnt[2]));
added = true;
break;
}
}
}
if (!added) result.push_back(CVector3(pnt[0],pnt[1],pnt[2]));
}
++it;
}
if (result.size() != 3) {
cerr << "Error: Not enough of too many points in the binary mask. Number of point needed = 3. Detected points = " << result.size() << endl;
return false;
}
point = result[1];
normal1 = (result[0]-result[1]).Normalize();
normal2 = (result[2]-result[1]).Normalize();
return true;
}
示例13: writeSeries
// ------------------------------------------------------------------------
void DicomParser::writeSeries(const DicomSeries &series, const QString &outputFolder)
{
// create the series name
QString name = QString::fromStdString(series.description);
name.replace(" ","_");
name += "_" + QString::number(series.images.front().seriesNumber);
name += ".nrrd";
QDir path(outputFolder);
QString fullPath = path.absoluteFilePath(name);
std::vector<DicomImage> images = series.images;
std::sort(images.begin(), images.end());
// write and build the output images
typedef itk::Image<unsigned short, 3> ImageType;
typedef itk::Image<unsigned short, 4> OutputImageType;
typedef itk::ImageFileReader<ImageType> ReaderType;
typedef itk::JoinSeriesImageFilter<ImageType, OutputImageType> JoinerType;
JoinerType::Pointer joiner = JoinerType::New();
ImageType::Pointer orig;
for(unsigned int i = 0; i < images.size(); i++)
{
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(images[i].filename);
std::cout << images[i].filename << std::endl;
reader->SetImageIO(itk::GDCMImageIO::New());
reader->Update();
ImageType::Pointer im = reader->GetOutput();
if(i == 0) orig = im;
im->SetOrigin(orig->GetOrigin());
im->SetDirection(orig->GetDirection());
im->SetSpacing(orig->GetSpacing());
joiner->SetInput(i, reader->GetOutput());
}
std::cout << joiner->GetOutput()->GetDirection() << std::endl;
typedef itk::ImageFileWriter<OutputImageType> WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetInput(joiner->GetOutput());
writer->SetFileName(fullPath.toStdString());
writer->SetImageIO(itk::NrrdImageIO::New());
writer->Update();
}
示例14: main
int main(int argc, char* argv[])
{
if( argc < 2 )
{
std::cerr<<argv[0]<<" InputImage"<<std::endl;
return EXIT_FAILURE;
}
typedef RGBImageType InputImageType;
typedef RGBImageType2D OutputImageType;
typedef itk::ImageFileReader< InputImageType > ReaderType;
//typedef itk::ImageFileReader< UCharImageType > ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName( argv[1] );
std::cout<<argv[1]<<std::endl;
try
{
reader->Update();
}
catch( itk::ExceptionObject & excep )
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << excep << std::endl;
}
InputImageType::Pointer in = reader->GetOutput();
Focus *f = new Focus( in );
f->SetRadius(10);
//std::vector<float> vars = f->FindVariance(1.93,4.57,300);
f->MakeVarianceImage();
//OutputImageType::Pointer p = f->MakeProjection();
OutputImageType::Pointer p = f->MakeProjectionColor();
delete f;
typedef itk::ImageFileWriter< OutputImageType > WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName( "best.tif" );
writer->SetInput( p );
try
{
writer->Update();
}
catch( itk::ExceptionObject & excep )
{
std::cerr << "Exception caught !" << std::endl;
std::cerr << excep << std::endl;
}
std::cerr << "PRESS ENTER TO EXIT\n";
getchar();
}
示例15: main
int main (int argc, char *argv[])
{
// Verify arguments
if(argc != 3)
{
std::cerr << "Required arguments: InputFileName OutputFileName" << std::endl;
return EXIT_FAILURE;
}
// Parse arguments
std::string inputFileName = argv[1];
std::string outputFileName = argv[2];
// Output arguments
std::cout << "Input image: " << inputFileName << std::endl;
std::cout << "Output image: " << outputFileName << std::endl;
//typedef itk::Image<unsigned char, 2> ImageType;
typedef itk::RGBPixel<float> RGBFloatPixelType; // We must use float pixels so that the averaging operation does not overflow
typedef itk::Image<RGBFloatPixelType> RGBFloatImageType;
typedef itk::ImageFileReader<RGBFloatImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(inputFileName);
reader->Update();
SmallHoleFiller<RGBFloatImageType> smallHoleFiller;
smallHoleFiller.SetImage(reader->GetOutput());
RGBFloatImageType::PixelType green;
green.SetRed(0);
green.SetGreen(255);
green.SetBlue(0);
smallHoleFiller.SetHolePixel(green);
smallHoleFiller.GenerateMaskFromImage();
smallHoleFiller.Fill();
typedef itk::RGBPixel<unsigned char> RGBUCharPixelType;
typedef itk::Image<RGBUCharPixelType> RGBUCharImageType;
typedef itk::CastImageFilter<RGBFloatImageType, RGBUCharImageType> CastFilterType;
CastFilterType::Pointer castFilter = CastFilterType::New();
castFilter->SetInput(smallHoleFiller.GetOutput());
castFilter->Update();
typedef itk::ImageFileWriter< RGBUCharImageType > WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName(outputFileName);
writer->SetInput(castFilter->GetOutput());
writer->Update();
return EXIT_SUCCESS;
}