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

Lars Friedrich Lars lars-friedrich at gmx.net
Tue May 4 13:14:45 EDT 2010


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