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

Jothy jothybasu at gmail.com
Tue May 4 13:00:29 EDT 2010


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
>



More information about the vtkusers mailing list