#include <QMainWindow>
#include <QApplication>
-#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)
+ 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){
- 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);
+ OpenImageDialog open(true);
+ img = open.getImageData();
- image->SetRegions(region);
- image->Allocate();
+ if(img == 0){
+ std::cout << "ERROR: Image filename missing. usage qtvtkviewer <image filename>"
+ << std::endl ;
+ return EXIT_FAILURE;
+ }
+ }else{
+ std::string inputFilename = argv[1];
+ }
- 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);
mainwindow->show();
- viewer->setImage(vtkimage);
- viewer->SetLookupTable((vtkLookupTable*)colortransfer);
- int scalnum = vtkimage->GetNumberOfScalarComponents();
-
- cout<<scalnum<<endl;
-
+ viewer->setImage(img);
+ //viewer->SetLookupTable((vtkLookupTable*)colortransfer);