Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

classic Classic list List threaded Threaded
6 messages Options
ran
Reply | Threaded
Open this post in threaded view
|

Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

ran
Hello,
While displaying same dicom images in vtkResliceImageViewer and vtkImageViewer2, it showing images with a different window level and window width.
I also tried to get the window level and window width values from dicom metadata and set in both the viewers. Then the vtkImageViewer2 giving same result as like other dicom viewer applications(like RadiAnt), but vtkResliceImageViewer showing a differnt result from others.
I need to use vtkResliceImageViewer in my application.
why images displaying in different manner in vtkResliceImageViewer and vtkImageViewer2?
Can get the same result with vtkResliceImageViewer as like vtkImageViewer2? 
Do need to perform any configuration in vtkResliceImageViewer?

(Attached the screenshot of screens displayed same dicom image with vtkResliceImageViewer and vtkImageViewer2)


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers

Imagewith_vtkImageViewer2.png (1M) Download Attachment
vtkResliceImageViewerScreenshot.png (127K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

Sankhesh Jhaveri-2

The difference in the two images seems to be window width and level. Ensure that the values are same in the vtkImageResliceViewer.


On Wed, Sep 20, 2017 at 7:37 AM K O ranjith <[hidden email]> wrote:
Hello,
While displaying same dicom images in vtkResliceImageViewer and vtkImageViewer2, it showing images with a different window level and window width.
I also tried to get the window level and window width values from dicom metadata and set in both the viewers. Then the vtkImageViewer2 giving same result as like other dicom viewer applications(like RadiAnt), but vtkResliceImageViewer showing a differnt result from others.
I need to use vtkResliceImageViewer in my application.
why images displaying in different manner in vtkResliceImageViewer and vtkImageViewer2?
Can get the same result with vtkResliceImageViewer as like vtkImageViewer2? 
Do need to perform any configuration in vtkResliceImageViewer?

(Attached the screenshot of screens displayed same dicom image with vtkResliceImageViewer and vtkImageViewer2)

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
--
Sankhesh Jhaveri
Sr. Research & Development Engineer | Kitware | (518) 881-4417

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
ran
Reply | Threaded
Open this post in threaded view
|

Re: Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

ran
This post was updated on .
Hello,

Thanks for the support.

As I mentioned in my question I have tried to set the window level and
width from the dicom metadata to both the viewer’s using the api s

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);

    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);

but the result from vtkResliceImageViewer is different than other viewers,
ie vtkImageViewer2 and other dicom viewer applications.



While connecting the vtkResliceImageViewer with vtkDICOMReader with api
“SetInputData””, have .



So I tried with the method
vtkResliceImageViewer->SetInputConnection(vtkDICOMReader
->GetOutputPort());,  then vtk showing error message "Use SetInputData
instead.", but the images are displaying image almost same as (but not
exact )other viewers. But then also, while setting the window level and
width from to the default value in the dicom metadata, the image display
again getting distorted. But the vtkImageViewer2 have same proper result
all the time.

I used 2d dicom images for testing.

Why this happening? What are the basic difference in both vtk viewers in
displaying images and setting window level and width?


On Wed, Sep 20, 2017 at 6:23 PM, Sankhesh Jhaveri <
sankhesh.jhaveri@kitware.com> wrote:

> The difference in the two images seems to be window width and level.
> Ensure that the values are same in the vtkImageResliceViewer.
> ​
>
> On Wed, Sep 20, 2017 at 7:37 AM K O ranjith <kor1581@gmail.com> wrote:
>
>> Hello,
>> While displaying same dicom images in vtkResliceImageViewer and
>> vtkImageViewer2, it showing images with a different window level and window
>> width.
>> I also tried to get the window level and window width values from dicom
>> metadata and set in both the viewers. Then the vtkImageViewer2 giving same
>> result as like other dicom viewer applications(like RadiAnt), but
>> vtkResliceImageViewer showing a differnt result from others.
>> I need to use vtkResliceImageViewer in my application.
>> why images displaying in different manner in vtkResliceImageViewer and
>> vtkImageViewer2?
>> Can get the same result with vtkResliceImageViewer as like
>> vtkImageViewer2?
>> Do need to perform any configuration in vtkResliceImageViewer?
>>
>> (Attached the screenshot of screens displayed same dicom image with
>> vtkResliceImageViewer and vtkImageViewer2)
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/
>> opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
> --
> Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware
> <http://www.kitware.com/> | (518) 881-4417
> ​
>

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
ran
Reply | Threaded
Open this post in threaded view
|

Re: Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

ran
Hi,
This is the code i used for image viewer with vtkResliceImageViewer, is this ok?
as per vtk class reference doc, the vtkResliceImageViewer will behave like vtkImageViewer2 if the Reslice mode is set to RESLICE_AXIS_ALIGNED, 
but the setting not affecting in image display.  

viewwidget::viewwidget(QWidget *parent) : QWidget(parent)
{

     QPointer<QVTKWidget> m_vtkWgt      = new QVTKWidget(this);

    vtkSmartPointer<vtkResliceImageViewer> m_vtkImViewer   = vtkSmartPointer<vtkResliceImageViewer>::New();

     QPointer<QHBoxLayout> m_loSinWin      = new QHBoxLayout(this);

    vtkSmartPointer<vtkDICOMReader> m_vtkDcmRdr m_vtkDcmRdr     = vtkSmartPointer<vtkDICOMReader>::New();

    m_MetaData      = vtkSmartPointer<vtkDICOMMetaData>::New();

    m_loSinWin->addWidget(m_vtkWgt);
    this->setLayout(m_loSinWin);

    vtkSmartPointer <vtkDICOMDirectory> vtkDcmDir = vtkSmartPointer<vtkDICOMDirectory>::New();

    vtkSmartPointer <vtkStringArray>  aVtkStrFNames;

    QString imgFolder = QDir::currentPath()+"/sampledicom/MRIX_LUMBAR/Lumbar/3-PlaneLoc1";
    vtkDcmDir->SetDirectoryName(imgFolder.toStdString().c_str());
    vtkDcmDir->RequirePixelDataOn();
    vtkDcmDir->Update();
     // Iterate through all of the studies that are present.
    int iNoStudies = vtkDcmDir ->GetNumberOfStudies();
    for(int i = 0; i < iNoStudies; i++)
    {
        // Get information related to the patient study
        //vtkDICOMItem   patient = dicomdir ->GetPatientRecordForStudy(i);
        //vtkDICOMItem   study = dicomdir ->GetStudyRecord(i);
        // Iterate through all of the series in this study.
        int j1 = vtkDcmDir ->GetFirstSeriesForStudy(i);
        int j2 = vtkDcmDir ->GetLastSeriesForStudy(i);
        for (int j = j1; j <= j2; j++)
        {
            aVtkStrFNames = vtkDcmDir->GetFileNamesForSeries(j);
            // do something with the files
            m_vtkDcmRdr ->SetFileNames(aVtkStrFNames);
            m_vtkDcmRdr->UpdateInformation();
            m_vtkDcmRdr ->Update();
        }
    }
    //m_vtkDcmRdr->SetMemoryRowOrderToFileNative();
    m_vtkImViewer->SetSliceOrientationToXY();
    m_vtkImViewer->SetResliceModeToAxisAligned();
    m_vtkDcmRdr->Update();
    m_MetaData = m_vtkDcmRdr->GetMetaData();
    //m_vtkImViewer->SetInputConnection(m_vtkDcmRdr->GetOutputPort());

    m_vtkImViewer->SetInputData(m_vtkDcmRdr->GetOutput());


    m_vtkImViewer->SetRenderWindow(m_vtkWgt->GetRenderWindow());

    
    double dDefaultWinWidth   = m_MetaData->GetAttributeValue (0 , DC :: WindowWidth ). AsDouble () ;

    double dDefaultWinLevel   = m_MetaData-> GetAttributeValue(0 , DC :: WindowCenter ). AsDouble () ;

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);
    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);


    m_vtkImViewer->SetupInteractor(m_vtkWgt->GetInteractor());

    m_vtkImViewer->GetRenderer()->ResetCamera();
    m_vtkImViewer->Render();
    m_vtkWgt->GetInteractor()->Initialize();
    m_vtkWgt->show();
}


On Wed, Sep 20, 2017 at 9:14 PM, K O ranjith <[hidden email]> wrote:

Hello,

Thanks for the support.

As I mentioned in my question I have tried to set the window level and width from the dicom metadata to both the viewer’s using the api s

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);

    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);

but the result from vtkResliceImageViewer is different than other viewers, ie vtkImageViewer2 and other dicom viewer applications.

 

While connecting the vtkResliceImageViewer with vtkDICOMReader with api “SetInputData””, have .

 

So I tried with the method vtkResliceImageViewer->SetInputConnection(vtkDICOMReader ->GetOutputPort());,  then vtk showing error message "Use SetInputData instead.", but the images are displaying image almost same as (but not exact )other viewers. But then also, while setting the window level and width from to the default value in the dicom metadata, the image display again getting distorted. But the vtkImageViewer2 have same proper result all the time.

I used 2d dicom images for testing.

Why this happening? What are the basic difference in both vtk viewers in displaying images and setting window level and width?




On Wed, Sep 20, 2017 at 6:23 PM, Sankhesh Jhaveri <[hidden email]> wrote:

The difference in the two images seems to be window width and level. Ensure that the values are same in the vtkImageResliceViewer.


On Wed, Sep 20, 2017 at 7:37 AM K O ranjith <[hidden email]> wrote:
Hello,
While displaying same dicom images in vtkResliceImageViewer and vtkImageViewer2, it showing images with a different window level and window width.
I also tried to get the window level and window width values from dicom metadata and set in both the viewers. Then the vtkImageViewer2 giving same result as like other dicom viewer applications(like RadiAnt), but vtkResliceImageViewer showing a differnt result from others.
I need to use vtkResliceImageViewer in my application.
why images displaying in different manner in vtkResliceImageViewer and vtkImageViewer2?
Can get the same result with vtkResliceImageViewer as like vtkImageViewer2? 
Do need to perform any configuration in vtkResliceImageViewer?

(Attached the screenshot of screens displayed same dicom image with vtkResliceImageViewer and vtkImageViewer2)

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
--
Sankhesh Jhaveri
Sr. Research & Development Engineer | Kitware | (518) 881-4417



_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
Reply | Threaded
Open this post in threaded view
|

Re: Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

Sankhesh Jhaveri-2

Hi,

Based on the screenshots, it doesn’t seem like there is a distortion in the slice (IMO).
Try setting the interactor style to vtkInteractorStyleImage and hold and drag left mouse button. This would change the window width and level. Hopefully, you’ll be able to match the display at some point and compare window values.

Thanks,
Sankhesh


On Thu, Sep 21, 2017 at 4:55 AM K O ranjith <[hidden email]> wrote:
Hi,
This is the code i used for image viewer with vtkResliceImageViewer, is this ok?
as per vtk class reference doc, the vtkResliceImageViewer will behave like vtkImageViewer2 if the Reslice mode is set to RESLICE_AXIS_ALIGNED, 
but the setting not affecting in image display.  

viewwidget::viewwidget(QWidget *parent) : QWidget(parent)
{

     QPointer<QVTKWidget> m_vtkWgt      = new QVTKWidget(this);

    vtkSmartPointer<vtkResliceImageViewer> m_vtkImViewer   = vtkSmartPointer<vtkResliceImageViewer>::New();

     QPointer<QHBoxLayout> m_loSinWin      = new QHBoxLayout(this);

    vtkSmartPointer<vtkDICOMReader> m_vtkDcmRdr m_vtkDcmRdr     = vtkSmartPointer<vtkDICOMReader>::New();

    m_MetaData      = vtkSmartPointer<vtkDICOMMetaData>::New();

    m_loSinWin->addWidget(m_vtkWgt);
    this->setLayout(m_loSinWin);

    vtkSmartPointer <vtkDICOMDirectory> vtkDcmDir = vtkSmartPointer<vtkDICOMDirectory>::New();

    vtkSmartPointer <vtkStringArray>  aVtkStrFNames;

    QString imgFolder = QDir::currentPath()+"/sampledicom/MRIX_LUMBAR/Lumbar/3-PlaneLoc1";
    vtkDcmDir->SetDirectoryName(imgFolder.toStdString().c_str());
    vtkDcmDir->RequirePixelDataOn();
    vtkDcmDir->Update();
     // Iterate through all of the studies that are present.
    int iNoStudies = vtkDcmDir ->GetNumberOfStudies();
    for(int i = 0; i < iNoStudies; i++)
    {
        // Get information related to the patient study
        //vtkDICOMItem   patient = dicomdir ->GetPatientRecordForStudy(i);
        //vtkDICOMItem   study = dicomdir ->GetStudyRecord(i);
        // Iterate through all of the series in this study.
        int j1 = vtkDcmDir ->GetFirstSeriesForStudy(i);
        int j2 = vtkDcmDir ->GetLastSeriesForStudy(i);
        for (int j = j1; j <= j2; j++)
        {
            aVtkStrFNames = vtkDcmDir->GetFileNamesForSeries(j);
            // do something with the files
            m_vtkDcmRdr ->SetFileNames(aVtkStrFNames);
            m_vtkDcmRdr->UpdateInformation();
            m_vtkDcmRdr ->Update();
        }
    }
    //m_vtkDcmRdr->SetMemoryRowOrderToFileNative();
    m_vtkImViewer->SetSliceOrientationToXY();
    m_vtkImViewer->SetResliceModeToAxisAligned();
    m_vtkDcmRdr->Update();
    m_MetaData = m_vtkDcmRdr->GetMetaData();
    //m_vtkImViewer->SetInputConnection(m_vtkDcmRdr->GetOutputPort());

    m_vtkImViewer->SetInputData(m_vtkDcmRdr->GetOutput());


    m_vtkImViewer->SetRenderWindow(m_vtkWgt->GetRenderWindow());

    
    double dDefaultWinWidth   = m_MetaData->GetAttributeValue (0 , DC :: WindowWidth ). AsDouble () ;

    double dDefaultWinLevel   = m_MetaData-> GetAttributeValue(0 , DC :: WindowCenter ). AsDouble () ;

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);
    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);


    m_vtkImViewer->SetupInteractor(m_vtkWgt->GetInteractor());

    m_vtkImViewer->GetRenderer()->ResetCamera();
    m_vtkImViewer->Render();
    m_vtkWgt->GetInteractor()->Initialize();
    m_vtkWgt->show();
}


On Wed, Sep 20, 2017 at 9:14 PM, K O ranjith <[hidden email]> wrote:

Hello,

Thanks for the support.

As I mentioned in my question I have tried to set the window level and width from the dicom metadata to both the viewer’s using the api s

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);

    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);

but the result from vtkResliceImageViewer is different than other viewers, ie vtkImageViewer2 and other dicom viewer applications.

 

While connecting the vtkResliceImageViewer with vtkDICOMReader with api “SetInputData””, have .

 

So I tried with the method vtkResliceImageViewer->SetInputConnection(vtkDICOMReader ->GetOutputPort());,  then vtk showing error message "Use SetInputData instead.", but the images are displaying image almost same as (but not exact )other viewers. But then also, while setting the window level and width from to the default value in the dicom metadata, the image display again getting distorted. But the vtkImageViewer2 have same proper result all the time.

I used 2d dicom images for testing.

Why this happening? What are the basic difference in both vtk viewers in displaying images and setting window level and width?




On Wed, Sep 20, 2017 at 6:23 PM, Sankhesh Jhaveri <[hidden email]> wrote:

The difference in the two images seems to be window width and level. Ensure that the values are same in the vtkImageResliceViewer.


On Wed, Sep 20, 2017 at 7:37 AM K O ranjith <[hidden email]> wrote:
Hello,
While displaying same dicom images in vtkResliceImageViewer and vtkImageViewer2, it showing images with a different window level and window width.
I also tried to get the window level and window width values from dicom metadata and set in both the viewers. Then the vtkImageViewer2 giving same result as like other dicom viewer applications(like RadiAnt), but vtkResliceImageViewer showing a differnt result from others.
I need to use vtkResliceImageViewer in my application.
why images displaying in different manner in vtkResliceImageViewer and vtkImageViewer2?
Can get the same result with vtkResliceImageViewer as like vtkImageViewer2? 
Do need to perform any configuration in vtkResliceImageViewer?

(Attached the screenshot of screens displayed same dicom image with vtkResliceImageViewer and vtkImageViewer2)

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
--
Sankhesh Jhaveri
Sr. Research & Development Engineer | Kitware | <a href="tel:(518)%20881-4417" value="+15188814417" target="_blank">(518) 881-4417


--
Sankhesh Jhaveri
Sr. Research & Development Engineer | Kitware | (518) 881-4417

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
ran
Reply | Threaded
Open this post in threaded view
|

Re: Difference in images displayed in vtkImageViewer2 and vtkResliceImageViewer

ran

Hello,

Thanks for the support,

While setting  vtkScalarsToColors* -> SetRange(0,1); and then set it to vtkResliceImageViewer* -> SetLookupTable, the vtkResliceImageViewer giving result as other viewer. While evaluating vtkResliceImageViewer I noticed this api because, it’s something related to color and it is not available with vtkImageviewer2.

Is this the correct way? what is the purpose of vtkScalarsToColors  in vtkResliceImageViewer?

Thanks


On Thu, Sep 21, 2017 at 5:54 PM, Sankhesh Jhaveri <[hidden email]> wrote:

Hi,

Based on the screenshots, it doesn’t seem like there is a distortion in the slice (IMO).
Try setting the interactor style to vtkInteractorStyleImage and hold and drag left mouse button. This would change the window width and level. Hopefully, you’ll be able to match the display at some point and compare window values.

Thanks,
Sankhesh


On Thu, Sep 21, 2017 at 4:55 AM K O ranjith <[hidden email]> wrote:
Hi,
This is the code i used for image viewer with vtkResliceImageViewer, is this ok?
as per vtk class reference doc, the vtkResliceImageViewer will behave like vtkImageViewer2 if the Reslice mode is set to RESLICE_AXIS_ALIGNED, 
but the setting not affecting in image display.  

viewwidget::viewwidget(QWidget *parent) : QWidget(parent)
{

     QPointer<QVTKWidget> m_vtkWgt      = new QVTKWidget(this);

    vtkSmartPointer<vtkResliceImageViewer> m_vtkImViewer   = vtkSmartPointer<vtkResliceImageViewer>::New();

     QPointer<QHBoxLayout> m_loSinWin      = new QHBoxLayout(this);

    vtkSmartPointer<vtkDICOMReader> m_vtkDcmRdr m_vtkDcmRdr     = vtkSmartPointer<vtkDICOMReader>::New();

    m_MetaData      = vtkSmartPointer<vtkDICOMMetaData>::New();

    m_loSinWin->addWidget(m_vtkWgt);
    this->setLayout(m_loSinWin);

    vtkSmartPointer <vtkDICOMDirectory> vtkDcmDir = vtkSmartPointer<vtkDICOMDirectory>::New();

    vtkSmartPointer <vtkStringArray>  aVtkStrFNames;

    QString imgFolder = QDir::currentPath()+"/sampledicom/MRIX_LUMBAR/Lumbar/3-PlaneLoc1";
    vtkDcmDir->SetDirectoryName(imgFolder.toStdString().c_str());
    vtkDcmDir->RequirePixelDataOn();
    vtkDcmDir->Update();
     // Iterate through all of the studies that are present.
    int iNoStudies = vtkDcmDir ->GetNumberOfStudies();
    for(int i = 0; i < iNoStudies; i++)
    {
        // Get information related to the patient study
        //vtkDICOMItem   patient = dicomdir ->GetPatientRecordForStudy(i);
        //vtkDICOMItem   study = dicomdir ->GetStudyRecord(i);
        // Iterate through all of the series in this study.
        int j1 = vtkDcmDir ->GetFirstSeriesForStudy(i);
        int j2 = vtkDcmDir ->GetLastSeriesForStudy(i);
        for (int j = j1; j <= j2; j++)
        {
            aVtkStrFNames = vtkDcmDir->GetFileNamesForSeries(j);
            // do something with the files
            m_vtkDcmRdr ->SetFileNames(aVtkStrFNames);
            m_vtkDcmRdr->UpdateInformation();
            m_vtkDcmRdr ->Update();
        }
    }
    //m_vtkDcmRdr->SetMemoryRowOrderToFileNative();
    m_vtkImViewer->SetSliceOrientationToXY();
    m_vtkImViewer->SetResliceModeToAxisAligned();
    m_vtkDcmRdr->Update();
    m_MetaData = m_vtkDcmRdr->GetMetaData();
    //m_vtkImViewer->SetInputConnection(m_vtkDcmRdr->GetOutputPort());

    m_vtkImViewer->SetInputData(m_vtkDcmRdr->GetOutput());


    m_vtkImViewer->SetRenderWindow(m_vtkWgt->GetRenderWindow());

    
    double dDefaultWinWidth   = m_MetaData->GetAttributeValue (0 , DC :: WindowWidth ). AsDouble () ;

    double dDefaultWinLevel   = m_MetaData-> GetAttributeValue(0 , DC :: WindowCenter ). AsDouble () ;

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);
    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);


    m_vtkImViewer->SetupInteractor(m_vtkWgt->GetInteractor());

    m_vtkImViewer->GetRenderer()->ResetCamera();
    m_vtkImViewer->Render();
    m_vtkWgt->GetInteractor()->Initialize();
    m_vtkWgt->show();
}


On Wed, Sep 20, 2017 at 9:14 PM, K O ranjith <[hidden email]> wrote:

Hello,

Thanks for the support.

As I mentioned in my question I have tried to set the window level and width from the dicom metadata to both the viewer’s using the api s

    m_vtkImViewer->SetColorLevel(dDefaultWinWidth);

    m_vtkImViewer->SetColorWindow(dDefaultWinLevel);

but the result from vtkResliceImageViewer is different than other viewers, ie vtkImageViewer2 and other dicom viewer applications.

 

While connecting the vtkResliceImageViewer with vtkDICOMReader with api “SetInputData””, have .

 

So I tried with the method vtkResliceImageViewer->SetInputConnection(vtkDICOMReader ->GetOutputPort());,  then vtk showing error message "Use SetInputData instead.", but the images are displaying image almost same as (but not exact )other viewers. But then also, while setting the window level and width from to the default value in the dicom metadata, the image display again getting distorted. But the vtkImageViewer2 have same proper result all the time.

I used 2d dicom images for testing.

Why this happening? What are the basic difference in both vtk viewers in displaying images and setting window level and width?




On Wed, Sep 20, 2017 at 6:23 PM, Sankhesh Jhaveri <[hidden email]> wrote:

The difference in the two images seems to be window width and level. Ensure that the values are same in the vtkImageResliceViewer.


On Wed, Sep 20, 2017 at 7:37 AM K O ranjith <[hidden email]> wrote:
Hello,
While displaying same dicom images in vtkResliceImageViewer and vtkImageViewer2, it showing images with a different window level and window width.
I also tried to get the window level and window width values from dicom metadata and set in both the viewers. Then the vtkImageViewer2 giving same result as like other dicom viewer applications(like RadiAnt), but vtkResliceImageViewer showing a differnt result from others.
I need to use vtkResliceImageViewer in my application.
why images displaying in different manner in vtkResliceImageViewer and vtkImageViewer2?
Can get the same result with vtkResliceImageViewer as like vtkImageViewer2? 
Do need to perform any configuration in vtkResliceImageViewer?

(Attached the screenshot of screens displayed same dicom image with vtkResliceImageViewer and vtkImageViewer2)

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers
--
Sankhesh Jhaveri
Sr. Research & Development Engineer | Kitware | <a href="tel:(518)%20881-4417" value="+15188814417" target="_blank">(518) 881-4417


--
Sankhesh Jhaveri
Sr. Research & Development Engineer | Kitware | (518) 881-4417


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers