X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FQtVTKViewer%2Fqtvtkviewer.cxx;h=90e17064a323a857717c7020bfd09385f3317564;hb=4ecb6789d069c8dcd40724f03d8225c25629cd52;hp=dcafe09de208d6d8654123649d44860e33d9248e;hpb=664e4e099f2b90efe6e9cfeaa4b880238460f6b2;p=creaMaracasVisu.git diff --git a/appli/QtVTKViewer/qtvtkviewer.cxx b/appli/QtVTKViewer/qtvtkviewer.cxx index dcafe09..90e1706 100644 --- a/appli/QtVTKViewer/qtvtkviewer.cxx +++ b/appli/QtVTKViewer/qtvtkviewer.cxx @@ -1,45 +1,50 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ //---------------------------------------------------------------------- -// File: ann_sample.cpp -// Programmer: Sunil Arya and David Mount -// Last modified: 03/04/98 (Release 0.1) -// Description: Sample program for ANN -//---------------------------------------------------------------------- -// Copyright (c) 1997-2005 University of Maryland and Sunil Arya and -// David Mount. All Rights Reserved. -// -// This software and related documentation is part of the Approximate -// Nearest Neighbor Library (ANN). This software is provided under -// the provisions of the Lesser GNU Public License (LGPL). See the -// file ../ReadMe.txt for further information. -// -// The University of Maryland (U.M.) and the authors make no -// representations about the suitability or fitness of this software for -// any purpose. It is provided "as is" without express or implied -// warranty. +// File: qtvtkviewer.cxx +// Programmer: Prieto +// Last modified: 25/08/11 (Release 0.1) +// Description: Sample program fro qtvtkviewer //---------------------------------------------------------------------- #include "qtvtkviewerwidget.h" #include #include -#include "itktovtkimageimport.h" -#include "itkImage.h" -#include "itkRGBPixel.h" -#include "itkImageFileReader.h" - -#include "itkvtkcolortransferfunction.h" #include "iostream" +#include "vtkMetaImageReader.h" +//#include "OpenImageDialog.h" - - - -using namespace std; // make std:: accessible - +using namespace std; +//using namespace creaMaracasVisuKernel; int main(int argc, char **argv) { @@ -50,78 +55,29 @@ int main(int argc, char **argv) + vtkImageData* img = 0; - if (argc < 2) - { - std::cout << "ERROR: data file name argument missing." - << 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 " + << std::endl ; + return EXIT_FAILURE; + } + }else*/ + if(argc==2){ + std::string inputFilename = argv[1]; - typedef itk::ITKToVTKImageImport< RGBImage3DType > ITKToVTKType; - ITKToVTKType::Pointer itktovtk = ITKToVTKType::New(); - itktovtk->SetITKImage(image); + vtkMetaImageReader* reader = vtkMetaImageReader::New(); + reader->SetFileName(inputFilename.c_str()); + reader->Update(); + img = reader->GetOutput(); + } - 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); @@ -130,19 +86,13 @@ int main(int argc, char **argv) QtVTKViewerWidget *viewer = new QtVTKViewerWidget(mainwindow); mainwindow-> setCentralWidget(viewer); + mainwindow->setMinimumSize(1024, 768); + mainwindow->showMaximized(); - mainwindow->show(); - - viewer->setImage(vtkimage); - viewer->SetLookupTable((vtkLookupTable*)colortransfer); - int scalnum = vtkimage->GetNumberOfScalarComponents(); - - cout<setImage(img); + //viewer->SetLookupTable((vtkLookupTable*)colortransfer); return app.exec(); }