[vtkusers] How get DICOM image intensity?

Jim Peterson jimcp at cox.net
Mon Sep 13 17:28:53 EDT 2010


Italo,
I am not sure what I am supposed to "look very close" at, nor what 
actual problem we are addressing. What you have raised is a technical 
need to access the scalar data for an image in vtk, could easily be a 
classroom assignment, and not a problem I have any great interest in.
Have you implemented a point picker in vtk to interact with the 3d model 
in vtk to access the scalar values for selected points? I believe you 
will find each structured grid "point" to be a 3d space location derived 
from the row and column location in a dicom image file, the combination 
of row, column and file number times the sample spacing results in a 
location is space for the point. the radio intensity value results in a 
scalar. at a sufficient scaling a point scalar is a voxel scalar is a 
pixel scalar, depending on whether we are talking the structured grid in 
3d space, a surface element in the space or a row and column in a single 
dicom image file.

The image of the dicom data loaded is generated in itk and vtk by 
similar "surface generating" algorithms that construct polygon defined 
surfaces connecting points with similar scalar values. So if ITKSnap and 
vtk both generate similar images, they are both finding similar scalar 
data.   

I am afraid I am at the end if my interest in this problem,
Jim

Italo Ribeiro wrote:
> Hi Jim and Bill,
>
> Look very closed, in ITKsnap the slice 1 is slice 107 in my code, but 
> when i get the value, i am getting the same slice.
>
> I are begining think that i must get values intensity of voxel and not 
> point. Look for cell data in vtk, i dont find one function that 
> "GetScalarCell()", so how i get cell data in vtk? I must use 
> "GetCell(100)->Derivatives()"? Cell = Voxel?
>
> thanks
>
> 2010/9/12 Bill Lorensen <bill.lorensen at gmail.com 
> <mailto:bill.lorensen at gmail.com>>
>
>     vtk images are flipped in the y -direction. This is because vtk takes
>     a "computer graphics" view of images while itk takes a "medical" view.
>
>     In itk, the first pixel in memory is the first pixel on disk. In vtk,
>     the first pixel in memory is the first pixel of the last y "line".
>
>     On Sun, Sep 12, 2010 at 11:37 AM, Jim Peterson <jimcp at cox.net
>     <mailto:jimcp at cox.net>> wrote:
>     > ok, I believe we have a registration problem between the vtk model
>     > coordinates and the ITKSnap model coordinates. if I understand
>     the data you
>     > have given, we have some point data like:
>     >
>     > tested point
>     >        ITKSnap value
>     >        ITK Snap Material
>     >        VTK Value
>     >        Vtk Material
>     > pt1
>     >        2318
>     >        dense bone
>     >        -1024
>     >        air (-1000 is air at STP calibration)
>     > pt2
>     >        2210
>     >        dense bone
>     >        1023
>     >        soft bone
>     > pt3
>     >        2410
>     >        dense bone
>     >        41
>     >        watery liquid (0 is water at STP calibration)
>     > pt4
>     >        2130
>     >        dense bone
>     >        993
>     >        soft bone
>     >
>     >
>     > We agree all of these values are reasonable for some location in
>     a dental
>     > scan. I believe the problem is, in spite of expectations and
>     intentions, the
>     > location tested are not from the same input data, maybe the
>     coordinate
>     > schemes in vtk and itk do not match. Can you find corresponding
>     values in
>     > the ITKSnap? perhaps by transposing a coordinate location? can
>     we find
>     > locations to "sample" in the vtk model that produce the dense
>     bone values?
>     >
>     > does that make sense?
>     > Hope that helps,
>     > Jim
>     >
>     > Italo Ribeiro wrote:
>     >>
>     >> Hi Jim,
>     >>
>     >> The value not is same the entire tooth, the diferents values
>     are the same
>     >> point. In point (226, 100, 1) the values are:
>     >>
>     >> ITKsnap : 2130
>     >> Mycode: 993
>     >>
>     >> 2010/9/12 Jim Peterson <jimcp at cox.net <mailto:jimcp at cox.net>
>     <mailto:jimcp at cox.net <mailto:jimcp at cox.net>>>
>     >>
>     >>    Hi Italo,
>     >>
>     >>    I am not an ITKSnap user myself, you are suggesting ITKSnap
>     >>    reports the same value for the entire tooth? I think you would
>     >>    have to iterate over the points in the tooth to find the maximum
>     >>    value in vtk to duplicate that if it is true. Can you
>     display the
>     >>    point coordinates that have that value in ITKSnap? Then see
>     if vtk
>     >>    has the same value at that point? I have trouble believing
>     vtk has
>     >>    incorrect pixel data by point for imaging content.
>     >>
>     >>    Jim
>     >>
>     >>    Italo Ribeiro wrote:
>     >>
>     >>        Hi Jim,
>     >>
>     >>        I have dicom image with teeth, i am looking intensity values
>     >>        of 2 front teeth.
>     >>
>     >>        But some happen very strange, the tooth the left have
>     greater
>     >>        intensity in ITKsnap 2518 and my code -1024. The tooth the
>     >>        right side have in ITKsnap 2402 and in my code 41. I do not
>     >>        know why the values are different.
>     >>
>     >>        In my code i get 255 points of heigh and width, but when
>     i get
>     >>        dimension the image, vtk show 512 x 512, same dimesion
>     show in
>     >>        ITKsnap. ITKsnap get dimension of voxels, so i must get
>     >>        information the intensity value voxel of volume and no pixel
>     >>        the image?
>     >>
>     >>        thanks.
>     >>
>     >>        2010/9/11 Jim Peterson <jimcp at cox.net
>     <mailto:jimcp at cox.net> <mailto:jimcp at cox.net <mailto:jimcp at cox.net>>
>     >>        <mailto:jimcp at cox.net <mailto:jimcp at cox.net>
>     <mailto:jimcp at cox.net <mailto:jimcp at cox.net>>>>
>     >>
>     >>
>     >>           Personally, I am sorry, but there is not enough
>     information in
>     >>           your description of the problem to be sure you have a
>     >>        legitimate
>     >>           complaint. does your dicom data consist of only one
>     point?
>     >>        how are
>     >>           you certain you have selected the exact same location?
>     >>
>     >>           in my mainframe programming life we have a saying:
>     >>
>     >>           "when expected results do not match observed results,
>     check the
>     >>           library concatenation"
>     >>
>     >>           .... in my opinion, chances are you are looking at
>     >>        different points.
>     >>
>     >>           sorry, Hoping to be helpful not critical.
>     >>           Jim
>     >>
>     >>           Italo Ribeiro wrote:
>     >>
>     >>               No more ideas?
>     >>
>     >>               2010/9/10 Italo Ribeiro <italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>
>     >>        <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>>
>     >>               <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>
>     >>        <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>>>
>     >>               <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>
>     >>        <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>>
>     >>               <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>
>     >>        <mailto:italo.ribeiro at gmail.com
>     <mailto:italo.ribeiro at gmail.com>>>>>
>     >>
>     >>
>     >>                  I am expecting MIP of image point. In my
>     program the
>     >>        value
>     >>               for one
>     >>                  point is 1023 and ITKsnap show 2210.
>     >>
>     >>                  Why the value is different?
>     >>
>     >>                  2010/9/10 John Drescher <drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com>
>     >>        <mailto:drescherjm at gmail.com <mailto:drescherjm at gmail.com>>
>     >>               <mailto:drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com> <mailto:drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com>>>
>     >>                  <mailto:drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com>
>     >>        <mailto:drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com>> <mailto:drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com>
>     >>        <mailto:drescherjm at gmail.com
>     <mailto:drescherjm at gmail.com>>>>>
>     >>
>     >>
>     >>
>     >>                      > Using GetScalarType the type returned is
>     >>        short, i was
>     >>               using
>     >>                      int. But the
>     >>                      > value maximum showed is 1024 and i see the
>     >>        maximum short
>     >>                      value is 32767 and
>     >>                      > the intensity value is not corret.
>     >>                      >
>     >>
>     >>                      Depending on how you read the dicom file
>     the value
>     >>               should be in
>     >>                      hounsfield units. I am confused on whether you
>     >>        mean you
>     >>               were
>     >>                      expecting
>     >>                      32767 or hounsfield.
>     >>
>     >>                      John
>     >>
>     >>
>     >>
>     >>
>     >>                  --     Ítalo Mendes
>     >>                  ogre.irados.org <http://ogre.irados.org>
>     <http://ogre.irados.org>
>     >>        <http://ogre.irados.org>
>     >>               <http://ogre.irados.org>
>     >>
>     >>
>     >>
>     >>
>     >>               --         Ítalo Mendes
>     >>
>     >>               ogre.irados.org <http://ogre.irados.org>
>     <http://ogre.irados.org>
>     >>        <http://ogre.irados.org> <http://ogre.irados.org>
>     >>
>     >>
>      ------------------------------------------------------------------------
>     >>
>     >>               _______________________________________________
>     >>               Powered by www.kitware.com
>     <http://www.kitware.com> <http://www.kitware.com>
>     >>        <http://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
>     >>
>     >>               Follow this link to subscribe/unsubscribe:
>     >>               http://www.vtk.org/mailman/listinfo/vtkusers
>     >>
>     >>
>     >>
>     >>
>     >>        --         Ítalo Mendes
>     >>        ogre.irados.org <http://ogre.irados.org>
>     <http://ogre.irados.org> <http://ogre.irados.org>
>     >>
>     >>
>     >>
>     >>
>     >>
>     >> --
>     >> Ítalo Mendes
>     >> ogre.irados.org <http://ogre.irados.org> <http://ogre.irados.org>
>     >
>     > _______________________________________________
>     > Powered by www.kitware.com <http://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
>     >
>     > Follow this link to subscribe/unsubscribe:
>     > http://www.vtk.org/mailman/listinfo/vtkusers
>     >
>
>
>
>
> -- 
> Ítalo Mendes
> ogre.irados.org <http://ogre.irados.org>




More information about the vtkusers mailing list