Well, I have fixed that but when I am running my program, I do not get any errors. But when I start debug then an exception of Qt is caught. I can really understand why? I give you my code.The strange think is that when I declare my directory without using push_button_File() function, but inside the z_slice_extract(), I take my results correctly. Couls somebody help me?<br>
<br><br>#include &quot;mainwindow.h&quot;<br>#include &quot;ui_mainwindow.h&quot;<br>#include &quot;canvas.h&quot;<br><br>#include &quot;itkImage.h&quot;<br>#include &quot;itkImageFileReader.h&quot;<br>#include &quot;itkImageFileWriter.h&quot;<br>
#include &quot;itkExtractImageFilter.h&quot;<br>#include &lt;itkSize.h&gt;<br><br>QString fileName;<br><br>  unsigned long size_x;<br>  unsigned long size_y;<br>  unsigned long size_z;<br><br><br><br>MainWindow::MainWindow(QWidget *parent) :<br>
    QMainWindow(parent),<br>    ui(new Ui::MainWindow)<br>{<br>    ui-&gt;setupUi(this);<br><br>    ui-&gt;graphicsView_inputImage-&gt;setScene(scene=new Canvas());<br><br>    connect(scene,SIGNAL(mousejustpressed(int,int)),this,SLOT(mousejustpressed(int,int)));<br>
<br>    QObject::connect(ui-&gt;pushButton_openFile, SIGNAL(clicked()), this, SLOT(push_button_File()));<br><br>    QObject::connect(ui-&gt;pushButton_slice_z, SIGNAL(clicked()), this, SLOT(z_slice_extract()));<br><br><br>
 <br>}<br><br>void MainWindow::push_button_File()<br>{<br><br>  QString fileName = QFileDialog::getOpenFileName(this,<br>                                   tr(&quot;Open File&quot;), QDir::currentPath());<br> <br><br>}<br>
<br><br>void MainWindow::z_slice_extract()<br>{<br><br> ///unsigned char to display in .png format<br>  typedef unsigned char        InputPixelType;<br>  typedef unsigned char        OutputPixelType;<br><br>  typedef itk::Image&lt; InputPixelType,  3 &gt;    InputImageType;<br>
  typedef itk::Image&lt; OutputPixelType, 2 &gt;    OutputImageType;<br><br>  typedef itk::ImageFileReader&lt; InputImageType  &gt;  ReaderType;<br>  typedef itk::ImageFileWriter&lt; OutputImageType &gt;  WriterType;<br><br>
  ReaderType::Pointer reader = ReaderType::New();<br>  WriterType::Pointer writer = WriterType::New();<br><br>  reader-&gt;SetFileName( fileName.toStdString()  );<br>  writer-&gt;SetFileName( &quot;2D.png&quot; );<br><br>
  <br>  typedef itk::ExtractImageFilter&lt; InputImageType, OutputImageType &gt; FilterType;<br>  FilterType::Pointer filter = FilterType::New();<br><br>    reader-&gt;Update();<br>  InputImageType::RegionType inputRegion =<br>
           reader-&gt;GetOutput()-&gt;GetLargestPossibleRegion();<br><br>  InputImageType::SizeType size = inputRegion.GetSize();<br> <br>  // get the size of the hole 3D image<br>  unsigned long size_x = size[0];<br>  unsigned long size_y = size[1];<br>
  unsigned long size_z = size[2];<br>  <br>  // get slices of z coordiante<br>  size[2] = 0; <br><br><br>  InputImageType::IndexType start = inputRegion.GetIndex();<br> // const unsigned int sliceNumber = 90;<br>  ui-&gt;verticalScrollBar_z-&gt;setRange(1,size_z);<br>
  unsigned int sliceNumber  =  ui-&gt;verticalScrollBar_z-&gt;value();<br>  start[2] = sliceNumber;<br> // ui-&gt;verticalScrollBar_z-&gt;setValue(sliceNumber);<br> <br><br>  InputImageType::RegionType desiredRegion;<br>  desiredRegion.SetSize( size );<br>
  desiredRegion.SetIndex( start );<br><br>  filter-&gt;SetExtractionRegion( desiredRegion );<br><br>  filter-&gt;SetInput( reader-&gt;GetOutput() );<br>  writer-&gt;SetInput( filter-&gt;GetOutput() );<br><br>      try<br>
    {<br>    writer-&gt;Update();    <br>    }<br>    catch( itk::ExceptionObject &amp; err )<br>    {<br>    std::cerr &lt;&lt; &quot;ExceptionObject caught !&quot; &lt;&lt; std::endl;<br>    std::cerr &lt;&lt; err &lt;&lt; std::endl;<br>
    }<br><br><br>     scene-&gt;addPixmap(QPixmap(&quot;2D.png&quot;));<br>          ui-&gt;graphicsView_resultImage-&gt;setScene(scene);<br>    //       ui-&gt;graphicsView_resultImage-&gt;set;<br><br>/**     static QGraphicsPixmapItem* pixmapItem;<br>
<br>     if (!pixmapItem) {<br>        //    pixmapItem = scene-&gt;addPixmap(QPixmap(&quot;2D.png&quot;));<br><br>          QPixmap tmpmap (QPixmap(&quot;2D.png&quot;));<br>        pixmapItem = scene-&gt;addPixmap ( tmpmap.scaled (214,256) );<br>
<br>            ui-&gt;graphicsView_inputImage-&gt;setScene(scene);<br>        } else {<br>            QPixmap tmpmap (QPixmap(&quot;2D.png&quot;));<br>            pixmapItem-&gt;setPixmap(tmpmap.scaled ( 214,256));<br>        }<br>
*/<br>    <br><br><br>    // taking the size of the loaded image<br>    ui-&gt;label_4-&gt;setText(QString(&quot;size x:%1&quot;).arg(size_x));<br>    ui-&gt;label_5-&gt;setText(QString(&quot;size y:%1&quot;).arg(size_y));<br>
    ui-&gt;label_6-&gt;setText(QString(&quot;size z:%1&quot;).arg(size_z));<br><br>    return;<br>}<br><br><br><br><br><br>void MainWindow::mousejustpressed(int x,int y)<br>{<br>    int k1=256-y;<br><br><br>    unsigned char value;<br>
<br>    QImage image(scene-&gt;sceneRect().size().toSize(), <br>    QImage::Format_RGB32);<br>    <br>    QPainter painter(&amp;image);<br>    scene-&gt;render(&amp;painter);<br>    <br>    value=image.pixel(x,k1);<br>    <br>
<br>    /**QImage buffer = QImage(1,1, QImage::Format_RGB32);<br>    QPainter painter(&amp;buffer);<br>    scene-&gt;render(&amp;painter, QRectF(0.0, 0.0, 1.0, 1.0), QRectF(x, y, 1.0, 1.0));<br>    int value = qGray(buffer.pixel(0,0));<br>
    */<br><br>    ui-&gt;label-&gt;setText(QString(&quot;x:%1&quot;).arg(x));<br>    ui-&gt;label_2-&gt;setText(QString(&quot;y:%1&quot;).arg(k1));<br>    ui-&gt;label_3-&gt;setText(QString(&quot;pixel value:%1&quot;).arg(value));<br>
<br><br>}<br><br><br>MainWindow::~MainWindow()<br>{<br>    delete ui;<br>}<br><br><br><br><br><div class="gmail_quote">2011/5/30 David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com">daviddoria@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote"><div class="im">On Mon, May 30, 2011 at 5:25 AM, john smith <span dir="ltr">&lt;<a href="mailto:mkitkinsightuser@gmail.com" target="_blank">mkitkinsightuser@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I am using Qt add in for visual studio 2010 and I have typed this. But still gettting these errors:<br><i>1&gt;e:\qt applications\mainwindow_globalreader\mainwindow\mainwindow\mainwindow.h(49): error C2065: &#39;ImageType&#39; : undeclared identifier<br>


1&gt;e:\qt applications\mainwindow_globalreader\mainwindow\mainwindow\mainwindow.h(50): error C2955: &#39;itk::ImageFileReader&#39; : use of class template requires template argument list<br>1&gt;          c:\itk\source\code\io\itkImageFileReader.h(93) : see declaration of &#39;itk::ImageFileReader&#39;<br>


1&gt;e:\qt applications\mainwindow_globalreader\mainwindow\mainwindow\mainwindow.h(50): fatal error C1903: unable to recover from previous error(s); stopping compilation<br>1&gt;  mainwindow.cpp</i><br><br>I have include the header fules &quot;itkImage.h&quot; ,&quot;itkImageFileReader.h&quot;.Could somebody help me?<br>


<br>class MainWindow : public QMainWindow<br>{<br>  ..............<div><br><br>private: <br>typedef   itk::ImageFileReader&lt; ImageType &gt;   ReaderType;<br></div>ReaderType::Pointer reader;<br><br>};<br><br>
<br>MainWindow::MainWindow(QWidget *parent) :<br>
    QMainWindow(parent),<br>    ui(new Ui::MainWindow)<br>{<br>............<br>...........<br>      typedef unsigned char        InputPixelType;<br>  typedef itk::Image&lt; InputPixelType,  3 &gt;    InputImageType;<br>  typedef itk::ImageFileReader&lt; InputImageType  &gt;  ReaderType;<div>

<br>
  ReaderType::Pointer reader = ReaderType::New();<br> <br>}<br></div></blockquote></div><div><br><br>As the error says,  you have not defined ImageType. You need something like<br><br>typedef itk::Image&lt;unsigned char, 2&gt; ImageType;<br>

<br>David<br> 
<br></div></div>
</blockquote></div><br>