X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=appli%2FQtVTKViewer%2Fqtvtkviewer.cxx;h=76778d49b1f9ff32253aa41941de821fba1a601e;hb=649fc25e246b85f708b3e2ae8bb99ebc4941bf62;hp=a4388d079d3b9d23bc8807fcda716de087931815;hpb=962d2237c57a96d4a644da68b967abbbe1288840;p=creaMaracasVisu.git diff --git a/appli/QtVTKViewer/qtvtkviewer.cxx b/appli/QtVTKViewer/qtvtkviewer.cxx index a4388d0..76778d4 100644 --- a/appli/QtVTKViewer/qtvtkviewer.cxx +++ b/appli/QtVTKViewer/qtvtkviewer.cxx @@ -23,22 +23,16 @@ #include #include -#include "itktovtkimageimport.h" -#include "itkImage.h" -#include "itkRGBPixel.h" -#include "itkImageFileReader.h" -#include "itkvtkcolortransferfunction.h" - #include "iostream" +#include "OpenImageDialog.h" - - -using namespace std; // make std:: accessible +using namespace std; +using namespace creaMaracasVisuKernel; int main(int argc, char **argv) @@ -50,78 +44,29 @@ int main(int argc, char **argv) + vtkImageData* img = 0; - if (argc < 2) - { - std::cout << "ERROR: Image filename missing, Filename RGB Image 2D" - << std::endl ; - return EXIT_FAILURE; - } - - std::string inputFilename = argv[1]; - //std::string inputFilename2 = argv[2]; - - - typedef unsigned char PixelType; - typedef itk::RGBPixel< PixelType > RGBPixelType; - typedef itk::Image< RGBPixelType, 2 > RGBImageType; - - typedef itk::ImageFileReader< RGBImageType > ImageReaderType ; - ImageReaderType::Pointer imageReader = ImageReaderType::New() ; - imageReader->SetFileName(inputFilename.c_str()); - imageReader->Update(); - RGBImageType::Pointer imagergb = imageReader->GetOutput(); - - - typedef itk::ITKToVTKImageImport< RGBImageType > ITKToVTKRGBType; - ITKToVTKRGBType::Pointer itktovtkrgb = ITKToVTKRGBType::New(); - itktovtkrgb->SetITKImage(imagergb); - - + if (argc < 2){ + OpenImageDialog open(true); + img = open.getImageData(); - typedef itk::Image< RGBPixelType, 3> RGBImage3DType; - RGBImage3DType::Pointer image = RGBImage3DType::New(); - RGBImage3DType::RegionType region; - region.SetSize(0, 256); - region.SetSize(1, 256); - region.SetSize(2, 256); - region.SetIndex(0,0); - region.SetIndex(1,0); - region.SetIndex(2,0); + if(img == 0){ + std::cout << "ERROR: Image filename missing. usage qtvtkviewer " + << std::endl ; + return EXIT_FAILURE; + } + }else{ + std::string inputFilename = argv[1]; - image->SetRegions(region); - image->Allocate(); + vtkMetaImageReader* reader = vtkMetaImageReader::New(); + reader->SetFileName(inputFilename.c_str()); + reader->Update(); + img = reader->GetOutput(); - typedef itk::ITKToVTKImageImport< RGBImage3DType > ITKToVTKType; - ITKToVTKType::Pointer itktovtk = ITKToVTKType::New(); - itktovtk->SetITKImage(image); + } - typedef itk::Image< unsigned char, 2 > LuminanceImageType; - typedef itk::RGBToLuminanceImageFilter< RGBImageType, LuminanceImageType> RGBToLumType; - RGBToLumType::Pointer rgbtolum = RGBToLumType::New(); - rgbtolum->SetInput(imagergb); - rgbtolum->Update(); - LuminanceImageType::Pointer lumimage = rgbtolum->GetOutput(); - - - typedef itk::ITKToVTKImageImport< LuminanceImageType > ITKToVTKLuminanceType; - ITKToVTKLuminanceType::Pointer itktovtklum = ITKToVTKLuminanceType::New(); - itktovtklum->SetITKImage(lumimage); - - - vtkImageData* vtkimage =itktovtklum->GetOutputVTKImage(); - - - - typedef itk::VTKColorTransferFunction< RGBImageType > VTKColorTransferType; - VTKColorTransferType::Pointer vtkcolortransfer = VTKColorTransferType::New(); - - vtkcolortransfer->SetInput(imagergb); - vtkcolortransfer->Update(); - vtkColorTransferFunction* colortransfer = vtkcolortransfer->GetOutput(); - QApplication app(argc, argv); @@ -134,12 +79,8 @@ int main(int argc, char **argv) mainwindow->show(); - viewer->setImage(vtkimage); - viewer->SetLookupTable((vtkLookupTable*)colortransfer); - int scalnum = vtkimage->GetNumberOfScalarComponents(); - - cout<setImage(img); + //viewer->SetLookupTable((vtkLookupTable*)colortransfer);