[Insight-developers] itkVTKPolyDataReader.h reads ascii only --- why?

Alexandre GOUAILLARD agouaillard at gmail.com
Fri Oct 22 06:44:26 EDT 2010


hi wanlin,

your two classes:
-rw-r--r--@ 1 gouaillarda  staff   2128 Oct 22 18:36
itkConvertArrayPixelBuffer.h
-rw-r--r--@ 1 gouaillarda  staff   1536 Oct 22 18:36
itkConvertArrayPixelBuffer.txx
-rw-r--r--@ 1 gouaillarda  staff   2253 Sep  8 18:37
itkConvertVariableLengthVectorPixelBuffer.h
-rw-r--r--@ 1 gouaillarda  staff   1626 Sep  8 18:37
itkConvertVariableLengthVectorPixelBuffer.txx
are extension of the itkConvertPixelBuffer in Code/IO, exact ?

alex.

On Mon, Oct 18, 2010 at 7:57 PM, wanlin <wanlinzhu at gmail.com> wrote:
>
>
> On Mon, Oct 18, 2010 at 8:29 PM, Alexandre GOUAILLARD
> <agouaillard at gmail.com> wrote:
>>
>> hi wanlin.
>>
>> I just reviewed your code.
>> Everything seems fine from this quick first review and I updated your
>> IJ paper with it.
>>
> Thank you very much.
>
>> It's a wonderful contribution, and I will put it as a candidate for
>> integration in itk v4.
>>
> It's cool. Thanks again.
>
>>
>> Before I do that though, can you tell me more about PolylineCell ? The
>> code seems to be heavily inspired by the triangle cell, any specific
>> design point (or question) you would have before i go deeper into it?
>
>
> While PolylineCell is almost the same as PolygonCell ( i copied and changed
> from it) except that the topology of this cell is not closed (i know it is
> ugly but a streamline like polyline cell type is useful, at least for me).
> The purpose of this class is to read streamline type data (currently only
> vtk polydata support it), such as fiber bundles obtained from DTI
> tractography algorithm. I know the streamline could be represented by
> DTITubeSpatialObject, but it is not derived from CellInterface, which
> prevent me from using it. Do you have a better idea so we could not add
> PolylineCell?
>
>>
>> Also, I will template your tests and examples over the meshtype to
>> reduce the number of lines by 2, unless you have strong objection
>> against it.
>>
> I totally agree with it.
>
>>
>> Finally, I don't understand the part on the third page about the data
>> type (pixeltype), could you point me to the example you are mentioning
>> in the paper?
>>
> Do you refer to this sentence "One of tests shows how it works"? in page 2?
> Sorry for the confusion. One of the data type defined in vtk polydata is
> COLOR_SCALARS dataName nValues
> c00 c01 ... c0(nValues-1)
> c10 c11 ... c1(nValues-1)
> So the number of elements in the pixelType is determined when reading a
> file. So we use itk::Array or itk::VariableLengthVector as the pixel type.
> In the test PolylineReadWriteTest, we defined
> itk::VariableLengthVector<float> as pixel type since the test data
> fibers.vtk contains COLOR_SCALARS.
>
> Finally, i have a question in terms of GIFTI data format, which requires
> gifticlib (http://www.nitrc.org/frs/?group_id=75). I am not sure the third
> party software policy of itk, therefore i didn't include the support into
> this version of submission. Do you think we could put gifticlib into
> Utilities for supporting GIFTI IO? Or we could do it latter when this
> functionality was required.
>
>
> Many thanks for your help
>
>
> wanlin
>
>> thanks again for this contribution.
>>
>> regards,
>>
>> alex.
>>
>>
>> On Thu, Oct 14, 2010 at 12:19 PM, Alexandre GOUAILLARD
>> <agouaillard at gmail.com> wrote:
>> > hi wanlin, all,
>> >
>> > mesh IO is in my pile of to-be-reviewed. I m goign to put it on the
>> > top of my pile, and address it early next week. If everything goes
>> > alright, I would push the code in ITK v4 before the end of next week.
>> >
>> > thanks for the contribution.
>> >
>> > alex.
>> >
>> >
>> > On Thu, Oct 14, 2010 at 7:26 AM, wanlin <wanlinzhu at gmail.com> wrote:
>> >> Hi, Brain,
>> >>             Reading binary legacy vtk polydata has been implemented in
>> >> http://www.insight-journal.org/browse/publication/761
>> >> Would you like try it?
>> >>
>> >>
>> >>
>> >> On Wed, Oct 13, 2010 at 11:15 AM, Luis Ibanez <luis.ibanez at kitware.com>
>> >> wrote:
>> >>>
>> >>> Hi Brain,
>> >>>
>> >>> Since this is an existing class, Jeff could simply
>> >>>
>> >>> 1) create a Git branch in his local repository,
>> >>> 2) make the necessary changes to the class,
>> >>> 3) add the proper test for reading binary vtk files,
>> >>> 4) run Experimental build until green,
>> >>> 5) and then push the branch to Gerrit for review.
>> >>>
>> >>>
>> >>> Please let us now if you or Jeff run into any
>> >>> problems.
>> >>>
>> >>> I'm sure many people will appreciate having
>> >>> the binary read functionality in this reader.
>> >>>
>> >>>
>> >>>      Luis
>> >>>
>> >>>
>> >>> --------------------------------------------
>> >>> On Wed, Oct 13, 2010 at 5:00 PM, brian avants <stnava at gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> Luis
>> >>>>
>> >>>> I think we can add the binary I/O capabilities to these classes, if
>> >>>> it's not done elsewhere, already.   Jeff Duda will probably do this
>> >>>> --- what's the recommended approach, currently, for adding
>> >>>> functionality like this to the toolkit?
>> >>>>
>> >>>> agreed that xml support is a bit ambitious.
>> >>>>
>> >>>> Brian
>> >>>>
>> >>>> On Wed, Oct 13, 2010 at 4:49 PM, Luis Ibanez
>> >>>> <luis.ibanez at kitware.com>
>> >>>> wrote:
>> >>>> >
>> >>>> > Hi Brian,
>> >>>> >
>> >>>> > This reader was implemented as a helper class for
>> >>>> > other initiatives.
>> >>>> >
>> >>>> > Managing only ASCII was the first easy way to get
>> >>>> > it done.
>> >>>> >
>> >>>> > Binary just need to be added to its capabilities.
>> >>>> >
>> >>>> >
>> >>>> > Would you be interested in modifying the class
>> >>>> > and adding the Binary reading capability ?
>> >>>> >
>> >>>> >
>> >>>> > -
>> >>>> >
>> >>>> > The support for XML is a more difficult proposition.
>> >>>> > The implementation in VTK relies on a hierarchy
>> >>>> > of helper classes.  It can certainly be done in ITK
>> >>>> > but it will require several weeks of effort.
>> >>>> >
>> >>>> >
>> >>>> > I would suggest to deal only with the Binary
>> >>>> > reading capability initially.
>> >>>> >
>> >>>> >
>> >>>> >      Luis
>> >>>> >
>> >>>> >
>> >>>> > ----------------------------------------------------------------
>> >>>> > On Wed, Oct 13, 2010 at 2:38 PM, brian avants <stnava at gmail.com>
>> >>>> > wrote:
>> >>>> >>
>> >>>> >> Hi Everyone
>> >>>> >>
>> >>>> >> I updated git-itk this morning.  Am trying to read a vtk mesh and
>> >>>> >> apply a transformation to it.  I get the error below that says,
>> >>>> >> basically, "File format is BINARY but only ASCII files can be
>> >>>> >> read".
>> >>>> >> Is there a good reason for this limitation?    Is it not true that
>> >>>> >> vtk
>> >>>> >> files can be of type ASCII, binary or xml?   Should all of those
>> >>>> >> be
>> >>>> >> supported?   Should the filter(s) be named
>> >>>> >> itkVTKAsciiPolyDataReader/Writer?    Finally, is anyone working on
>> >>>> >> this or is the solution in the software pipeline?
>> >>>> >>
>> >>>> >> Thanks!
>> >>>> >>
>> >>>> >> Brian
>> >>>> >>
>> >>>> >>
>> >>>> >> Input object: Mesh.vtk
>> >>>> >> Error during Update()
>> >>>> >>
>> >>>> >> itk::ExceptionObject (0x101abc640)
>> >>>> >> Location: "void
>> >>>> >> itk::VTKPolyDataReader<TOutputMesh>::GenerateData()
>> >>>> >> [with TOutputMesh = itk::Mesh<double, 3u,
>> >>>> >> itk::DefaultStaticMeshTraits<double, 3u, 3u, float, float, double>
>> >>>> >> >]"
>> >>>> >> File: /Users/brianavants/code/ITK/Code/IO/itkVTKPolyDataReader.txx
>> >>>> >> Line: 107
>> >>>> >> Description: itk::ERROR: VTKPolyDataReader(0x101abc4b0): Error
>> >>>> >> reading
>> >>>> >> file: WM.vtk
>> >>>> >> File format is BINARY but only ASCII files can be read.
>> >>>> >> _______________________________________________
>> >>>> >> Powered by www.kitware.com
>> >>>> >>
>> >>>> >> Visit other Kitware open-source projects at
>> >>>> >> http://www.kitware.com/opensource/opensource.html
>> >>>> >>
>> >>>> >> Kitware offers ITK Training Courses, for more information visit:
>> >>>> >> http://kitware.com/products/protraining.html
>> >>>> >>
>> >>>> >> Please keep messages on-topic and check the ITK FAQ at:
>> >>>> >> http://www.itk.org/Wiki/ITK_FAQ
>> >>>> >>
>> >>>> >> Follow this link to subscribe/unsubscribe:
>> >>>> >> http://www.itk.org/mailman/listinfo/insight-developers
>> >>>> >
>> >>>> >
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> ß®∫∆π
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> Powered by www.kitware.com
>> >>>
>> >>> Visit other Kitware open-source projects at
>> >>> http://www.kitware.com/opensource/opensource.html
>> >>>
>> >>> Kitware offers ITK Training Courses, for more information visit:
>> >>> http://kitware.com/products/protraining.html
>> >>>
>> >>> Please keep messages on-topic and check the ITK FAQ at:
>> >>> http://www.itk.org/Wiki/ITK_FAQ
>> >>>
>> >>> Follow this link to subscribe/unsubscribe:
>> >>> http://www.itk.org/mailman/listinfo/insight-developers
>> >>>
>> >>
>> >>
>> >> _______________________________________________
>> >> Powered by www.kitware.com
>> >>
>> >> Visit other Kitware open-source projects at
>> >> http://www.kitware.com/opensource/opensource.html
>> >>
>> >> Kitware offers ITK Training Courses, for more information visit:
>> >> http://kitware.com/products/protraining.html
>> >>
>> >> Please keep messages on-topic and check the ITK FAQ at:
>> >> http://www.itk.org/Wiki/ITK_FAQ
>> >>
>> >> Follow this link to subscribe/unsubscribe:
>> >> http://www.itk.org/mailman/listinfo/insight-developers
>> >>
>> >>
>> >
>
>


More information about the Insight-developers mailing list