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

wanlin wanlinzhu at gmail.com
Sat Oct 23 03:33:00 EDT 2010


Alex, I think they could read image with pixeltype as Array or
VariableLengthVector. I have made a test, the reader works, but not the
writer.

On Sat, Oct 23, 2010 at 3:53 PM, Alexandre GOUAILLARD <agouaillard at gmail.com
> wrote:

> ok,
>
> I think it's a great addition. Moreover, this would work with Images
> too, right? (I hate the name "pixeltype" in the meshes, but I have to
> admit it makes the comparison between the two template implementations
> easier.)
>
> My understanding is that people in the microscopy / remote sensing
> field are currently trying to do just that (cory?). Luis would you
> mind to take a look at those two files and advise where would be the
> best location in ITK for them? Their 1D equivalent is in Code/IO.
> Also, Can you confirm my understanding that it does runtime adaptation
> of variableVector type, which is what other are trying to tackle (
> fixed size 2 to variable size 2)?
>
> alex.
>
> On Fri, Oct 22, 2010 at 10:11 PM, wanlin <wanlinzhu at gmail.com> wrote:
> > Yes, they are here because itkConvertPixelBuffer could not handle
> > outputPixelType with Array or VariableLengthVector type.
> > Therefore i add the two specialized template classes to process when mesh
> > pixel type with Array or VariableLengthVector type.
> >
> > On Fri, Oct 22, 2010 at 9:44 PM, Alexandre GOUAILLARD
> > <agouaillard at gmail.com> wrote:
> >>
> >> 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
> >> >> >>
> >> >> >>
> >> >> >
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20101023/f25e80cb/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Source.tar.gz
Type: application/x-gzip
Size: 4344 bytes
Desc: not available
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20101023/f25e80cb/attachment-0001.bin>


More information about the Insight-developers mailing list