[vtkusers] Fwd: Re: RE: Create an approximate cross-section of a RT ROI

Jothy jothybasu at gmail.com
Tue May 4 13:23:56 EDT 2010


Link of interest,

http://gdcm.svn.sf.net/viewvc/gdcm/trunk/Utilities/VTK/Examples/Cxx/gdcmrtionplan.cxx?view=markup

Jothy

On Tue, May 4, 2010 at 6:14 PM, Lars Friedrich Lars
<lars-friedrich at gmx.net> wrote:
>
> e.g.
> (with constant z-coordinates per contour, we never face other RTSTRUCT at our site)
>
> contour1
> [12.32,43.2,100.7;x2,y2,z2.....xn,yn,zn]
> contour2
> [4.32,-3.21,101.4;x2,y2,z2.....xn,yn,zn]
>
> factor=100 (2 decimals resolution)
> [1232,4320,1;x2,y2,z2.....xn,yn,zn]
> [432,-321,2;x2,y2,z2.....xn,yn,zn]
>
> as far as I can remember we did it this way (I do not have access to the source code at the moment). for the z-coordinate you need a look-up table.
>
> after surface generation, you can scale the vertices back by dividing by 100 (x and y) and map the z-coordinates back according to the lookup-table.
>
> lars
>
>
>
> -------- Original-Nachricht --------
>> Datum: Tue, 4 May 2010 18:00:29 +0100
>> Von: Jothy <jothybasu at gmail.com>
>> An: Lars Friedrich Lars <lars-friedrich at gmx.net>
>> CC: Xiaofeng Z <xf10036 at hotmail.com>, vtkusers at vtk.org
>> Betreff: Re: [vtkusers] Fwd: Re: RE: Create an approximate cross-section of a         RT ROI
>
>> No Lars, you are not getting my point. Let's say we have a contour
>> [x1,y1,z1;x2,y2,z2.....xn,yn,zn]. I have read these values from diocm
>> rt struct set. This is what the dicom libraries do. Now to use this
>> data set with vtk. What should we do?
>>
>> It should be converted into vtk polygonal data to be used with any filter.
>>
>> Thanks,
>>
>> Jothy
>>
>> On Tue, May 4, 2010 at 5:55 PM, Lars Friedrich Lars
>> <lars-friedrich at gmx.net> wrote:
>> > Scaling of the contour polygon's x/y coordinates by a specified factor
>> (that determines the resolution) and rounding does the trick. After
>> surface-generation -> back-scaling (back-transformation).
>> > However, this was the first implementation; I do not use it anymore.
>> Meanwhile we implemented another triangulation in the main-application (which
>> does not necessarily require even distributed contours). But this
>> implementation is not written in C++.
>> > You could also try to compute distance maps slice by slice in your
>> desired resolution and then apply marching cubes or so to it. This should also
>> generate valid surfaces I think.
>> >
>> > BTW: I do not use VTK or ITK to import RTSTRUCT, we have our own
>> DICOM-services that are based on other (commercial) libraries and transform the
>> DICOM objects into our proprietary format.
>> >
>> > lars
>> >
>> >
>> > -------- Original-Nachricht --------
>> >> Datum: Tue, 4 May 2010 11:59:32 -0400
>> >> Von: Xiaofeng Z <xf10036 at hotmail.com>
>> >> An: lars-friedrich at gmx.net, VTK <vtkusers at vtk.org>
>> >> Betreff: RE: [vtkusers] Fwd: Re: RE: Create an approximate
>> cross-section of a RT ROI
>> >
>> >>
>> >> Thanks for the information.  I may revisit this later.  Maybe I did
>> >> something wrong that causes the performance issue.
>> >>
>> >>
>> >>
>> >> I use a dual Xeon computer.  Although I have eight processing cores,
>> the
>> >> speed of each core is not very fast (2GHz).
>> >>
>> >>
>> >>
>> >> Another reason I am not using  vtkVoxelContoursToSurfaceFilter is that
>> it
>> >> requires contours with integer vertices while dicom RT contour points
>> can
>> >> be off voxel centers.  I wonder what do you do to make sure you don't
>> loss
>> >> resolution.
>> >>
>> >>
>> >>
>> >> Thanks!
>> >>
>> >> Xiaofeng
>> >>
>> >>
>> >>
>> >> > Date: Tue, 4 May 2010 17:50:37 +0200
>> >> > From: lars-friedrich at gmx.net
>> >> > Subject: Re: RE: [vtkusers] Fwd: Re: RE: Create an approximate
>> >> cross-section of a RT ROI
>> >> > To: xf10036 at hotmail.com; vtkusers at vtk.org
>> >> >
>> >> > No, using a 'modern' PC is usually sufficient, all keeps flowing when
>> a
>> >> user interactively modifies the cut plane (although 3 planes are cut
>> >> simultaneously and a 3D scene is updated as well). In our case we
>> usually
>> >> represent the 3D structures with transparency; as we update the 3D
>> scene as well
>> >> this makes the application sometimes a bit stuttering. But as I
>> understand
>> >> your plan you do not have to update any 3D scene during cutting. The
>> cutting
>> >> is really fast.
>> >> >
>> >> > lars
>> >> >
>> >> > -------- Original-Nachricht --------
>> >> > > Datum: Tue, 4 May 2010 11:12:05 -0400
>> >> > > Von: Xiaofeng Z <xf10036 at hotmail.com>
>> >> > > An: lars-friedrich at gmx.net, VTK <vtkusers at vtk.org>
>> >> > > Betreff: RE: [vtkusers] Fwd: Re: RE: Create an approximate
>> >> cross-section of a RT ROI
>> >> >
>> >> > >
>> >> > > Lars,
>> >> > >
>> >> > >
>> >> > >
>> >> > > Is there any noticable lagging at all?
>> >> > >
>> >> > >
>> >> > >
>> >> > > Thanks!
>> >> > > Xiaofeng
>> >> > >
>> >> > >
>> >> > >
>> >> > > > Date: Tue, 4 May 2010 16:34:24 +0200
>> >> > > > From: lars-friedrich at gmx.net
>> >> > > > To: vtkusers at vtk.org
>> >> > > > Subject: [vtkusers] Fwd: Re: RE: Create an approximate
>> cross-section
>> >> of
>> >> > > a RT ROI
>> >> > > >
>> >> > > >
>> >> > > > Xiaofeng,
>> >> > > >
>> >> > > > I use a quite comparable approach for the same purpose as you, I
>> >> guess:
>> >> > > I cut multiple (!) 3D RT structures in 3 orthogonal planes
>> >> simultaneously
>> >> > > and cut the referenced RT volume (CT) at the same time. The
>> structures
>> >> > > include quite complex anatomy such as the skeletons with many
>> >> vertices.
>> >> > > > In my implementation (and that is nothing more than I wrote in
>> the
>> >> > > morning) this works 'very' interactively. For me that is real-time
>> >> enough ;)
>> >> > > >
>> >> > > > regards,
>> >> > > >
>> >> > > > lars
>> >> > > >
>> >> > > >
>> >> > > > -------- Original-Nachricht --------
>> >> > > > > Datum: Tue, 4 May 2010 09:37:22 -0400
>> >> > > > > Von: Xiaofeng Z <xf10036 at hotmail.com>
>> >> > > > > An: lars-friedrich at gmx.net
>> >> > > > > Betreff: RE: [vtkusers] Create an approximate cross-section of
>> a
>> >> RT
>> >> > > ROI
>> >> > > >
>> >> > > > >
>> >> > > > > lars,
>> >> > > > >
>> >> > > > >
>> >> > > > >
>> >> > > > > I consider the method you described a more accurate way to do
>> it.
>> >> > > > > Unfortunately, vtkCutter is too slow to be used in real time.
>> >> > > > >
>> >> > > > >
>> >> > > > >
>> >> > > > > Thanks for your reply though!
>> >> > > > >
>> >> > > > > Xiaofeng
>> >> > > > >
>> >> > > > >
>> >> > > > >
>> >> > > > > > Date: Tue, 4 May 2010 07:55:33 +0200
>> >> > > > > > From: lars-friedrich at gmx.net
>> >> > > > > > Subject: Re: [vtkusers] Create an approximate cross-section
>> of a
>> >> RT
>> >> > > ROI
>> >> > > > > > To: xf10036 at hotmail.com; vtkusers at vtk.org
>> >> > > > > >
>> >> > > > > > Hi Xiaofeng,
>> >> > > > > >
>> >> > > > > > just an idea:
>> >> > > > > > - produce a surface from the axial contours by using
>> >> > > > > vtkVoxelContoursToSurfaceFilter (which works quite well
>> provided
>> >> your
>> >> > > source contours are
>> >> > > > > evenly distributed)
>> >> > > > > > - take vtkCutter(s) with plane implicit functions that define
>> >> your
>> >> > > new
>> >> > > > > contouring orientation(s) and cut the volume to produce new
>> >> contours
>> >> > > from
>> >> > > > > that directions
>> >> > > > > >
>> >> > > > > > HTH,
>> >> > > > > > lars
>> >> > > > > >
>> >> > > > > >
>> >> > > > > > -------- Original-Nachricht --------
>> >> > > > > > > Datum: Mon, 3 May 2010 20:12:22 -0400
>> >> > > > > > > Von: Xiaofeng Z <xf10036 at hotmail.com>
>> >> > > > > > > An: VTK <vtkusers at vtk.org>
>> >> > > > > > > Betreff: [vtkusers] Create an approximate cross-section of
>> a
>> >> RT
>> >> > > ROI
>> >> > > > > >
>> >> > > > > > >
>> >> > > > > > > Hi vtkUsers,
>> >> > > > > > >
>> >> > > > > > > I have a set of contours in axial orientation representing
>> a
>> >> ROI.
>> >> > > I
>> >> > > > > need
>> >> > > > > > > to sketch the ROI in coronal and sagittal plane, by
>> connection
>> >> the
>> >> > > > > points
>> >> > > > > > > made from the intersection of the contours and the cutting
>> >> plane.
>> >> > > Is
>> >> > > > > there
>> >> > > > > > > a function to do that in vtk or in ITK?
>> >> > > > > > >
>> >> > > > > > > I know the result is not "precise" in a sense that the
>> >> contours
>> >> > > make
>> >> > > > > this
>> >> > > > > > > way is not always consistent between themselves. But it
>> seemed
>> >> to
>> >> > > be
>> >> > > > > the
>> >> > > > > > > only viable way to sketch a ROI in a multi-planar rendering
>> in
>> >> > > real
>> >> > > > > time.
>> >> > > > > > >
>> >> > > > > > > Many thanks!
>> >> > > > > > > Xiaofeng
>> >> > > > > > >
>> >> > > > > > >
>> >> > > > > > >
>> >> > > > > > >
>> >> > > > > > >
>> >> _________________________________________________________________
>> >> > > > > > > The New Busy is not the old busy. Search, chat and e-mail
>> from
>> >> > > your
>> >> > > > > inbox.
>> >> > > > > > >
>> >> > > > >
>> >> > >
>> >>
>> http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3
>> >> > > > > >
>> >> > > > > > --
>> >> > > > > > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>> >> > > > > > Jetzt freischalten unter
>> http://portal.gmx.net/de/go/maxdome01
>> >> > > > >
>> >> > > > >
>> _________________________________________________________________
>> >> > > > > Hotmail is redefining busy with tools for the New Busy. Get
>> more
>> >> from
>> >> > > your
>> >> > > > > inbox.
>> >> > > > >
>> >> > >
>> >>
>> http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_2
>> >> > > >
>> >> > > > --
>> >> > > > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>> >> > > > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>> >> > > >
>> >> > > > --
>> >> > > > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>> >> > > > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>> >> > > > _______________________________________________
>> >> > > > 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
>> >> > > >
>> >> > > > Follow this link to subscribe/unsubscribe:
>> >> > > > http://www.vtk.org/mailman/listinfo/vtkusers
>> >> > >
>> >> > > _________________________________________________________________
>> >> > > The New Busy is not the old busy. Search, chat and e-mail from your
>> >> inbox.
>> >> > >
>> >>
>> http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3
>> >> >
>> >> > --
>> >> > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>> >> > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>> >>
>> >> _________________________________________________________________
>> >> Hotmail has tools for the New Busy. Search, chat and e-mail from your
>> >> inbox.
>> >>
>> http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_1
>> >
>> > --
>> > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>> > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>> > _______________________________________________
>> > 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
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://www.vtk.org/mailman/listinfo/vtkusers
>> >
>
> --
> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>



More information about the vtkusers mailing list