[Insight-developers] Re: Limitation in MetaIO causing problems initkNeuralNetworkFileReader/Writer

Atwood, Robert C r.atwood at imperial.ac.uk
Tue Aug 21 07:12:41 EDT 2007


 
I for one would not be too happy with any such breakage, The intent as I
understand (and agree with) is that the meta-header is human readable,
and sticking tons of data into the tags would break this design idea,
let alone code using it. 

I use it all the time and can easily write separate (.mhd) headers by
hand, or by little scripts, for 3rd party and legacy image formats/image
series formats, and thus I can avoid using import filter code. My vote
is to please maintain this design. 

Robert

> -----Original Message-----
> From: 
> insight-developers-bounces+r.atwood=imperial.ac.uk at itk.org 
> [mailto:insight-developers-bounces+r.atwood=imperial.ac.uk at itk
> .org] On Behalf Of Stephen R. Aylward
> Sent: 20 August 2007 23:20
> To: kent williams
> Cc: Hans Johnson; ITK
> Subject: [Insight-developers] Re: Limitation in MetaIO 
> causing problems initkNeuralNetworkFileReader/Writer
> 
> Seems like the metaio library is being misused.  The fields are only 
> intended for holding tag/value pairs.   Reading/writing large 
> amounts of 
> data should done directly to the file or to an external file.
> 
> Look at how matrix, arrays, and images are read/written - 
> first read the 
> tag/value pairs that specify how much data should be 
> read/written, and 
> then directly read/write the data from the file after the tag/value 
> pairs.  Also, it should support writing those arrays as ascii 
> or binary 
> data.
> 
> It could be done the way you suggested, but that was not the 
> design for 
> metaIO.
> 
> Hope this helps,
> Stephen
> 
> kent williams wrote:
> > I logged this as a bug: http://www.itk.org/Bug/view.php?id=5545
> > 
> > The bug report has more details, but there are 2 
> limitations with MetaIO, in
> > the context of the NeuralNet I/O classes: The 
> MET_FieldRecordType is a C
> > structure, not a C++ class, and it contains a value array 
> with a fixed size
> > of 255.
> > 
> > I'm testing a very quick and dirty fix -- simply enlarging 
> the value array
> > so that Hans can move forward with his NeuralNetwork code 
> testing*, but
> > MetaIO maybe deserves some new scrutiny.
> > 
> > Given that it's been around for years in ITK, I can't think 
> of what I'd do
> > that wouldn't break backwards compatibility. The obvious 
> thing to do would
> > be to move MET_FieldRecordType to a C++ class, make the value array
> > resizable, etc.  Any code depending on the current state of 
> play would
> > break.
> > 
> > 
> > * and putting a test in MET_InitWriteField so it won't 
> scribble all over
> > memory.  There are, as I count them, 4 separate potential 
> buffer overruns in
> > that function.
> > 
> > 
> 
> -- 
> =============================================================
> Stephen R. Aylward, Ph.D.
> Chief Medical Scientist
> Kitware, Inc. - Chapel Hill Office
> http://www.kitware.com
> Phone: (518)371-3971 x300
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers
> 


More information about the Insight-developers mailing list