[Insight-users] ImageIO & GUI Support : TCON 2.0 : Topic forTomorrow : Request for Feedback

Niels Dekker niels-xtk at xs4all.nl
Fri Sep 12 06:30:07 EDT 2008

Can you please tell us about last week's TCON regarding ImageIO & GUI 
Support?  I'm sorry I couldn't be there.  Still I provided some feedback 
beforehand, as Sean McBride did.  Was our feedback useful to you?

www.itk.org/Wiki/Minutes_090508 says:
> Suggested API for the ImageIO classes unsigned int 
> GetNumberOfExtensions() const; std::string GetNthExtension(unsigned 
> int) const

Would those two be member functions of ImageIOBase?  Does that mean that 
the difference between "read extensions" and "write extensions" is no 
longer considered relevant?  If so, I think it would be convenient to 
just have a function that returns all the supported extensions:
  const ArrayOfExtensionsType & GetSupportedExtensions() const

Will there also be a function to get a descriptive name of the supported 
file format?

Last week I wrote:

----- Original Message ----- 
From: "Niels Dekker"
To: Luis Ibanez; insight-users; Insight-developers
Sent: Friday, September 05, 2008 10:38
Subject: Re: [Insight-users] ImageIO & GUI Support : TCON 2.0 : Topic 
forTomorrow : Request for Feedback

At our research group (LKEB), we're also developing an Image IO
framework.  Although this framework is more specific to our inhouse
software development (as it supports LKEB-specific file formats and data
structures), we've encountered similar design issues.  Both ITK's and
VTK's IO frameworks are a source of inspiration to our Image IO
framework.  :-)  It would be very helpful to us at LKEB to be able to
query the file extensions and the file format description from ITK IO.
VTK already has this, which made it much easier for us to write a
wrapper for VTK readers, for our (LKEB) framework.

I think it's a good idea to have the extensions and description of a
file format aggregated together.  Do you mean to have them as an
std::pair<string,vector<string>>?  At LKEB, we chose to have them
together in an AbstractFileFormat class, offering two member functions:

  std::string GetDescriptiveName() const;
  std::vector<FileName> GetFileExtensions() const;

Each file format we support has its own class, derived from

Why do you have separate functions for supported read and write formats?
Doesn't an IO class typically supports the same file format for reading
and writing?  Or could one specific IO class possibly support reading
only JPEG and writing only TIFF files?

I'm also very interested in the Unicode and localisation issues raised
by Sean McBride at the Insight Developers mailing list.

Kind regards, Niels

Niels Dekker
Scientific programmer at LKEB, Leiden University Medical Center

More information about the Insight-users mailing list