Proposals:ImageIO API for GUI Support: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 60: Line 60:
| rowspan="1" | GEAwImageIO
| rowspan="1" | GEAwImageIO
| ?? || GEAw || .??
| ?? || GEAw || .??
|-
| rowspan="1" | GiplImageIO
| ?? || GIPL || .??
|-
| rowspan="1" | IPLImageIO
| ?? || IPL || .??
|-
|-
| rowspan="1" | JPEGImageIO  
| rowspan="1" | JPEGImageIO  
| Compressed pixel data in binary || JPEG || .jpg
| Compressed pixel data in binary || JPEG || .jpg
|-
| rowspan="1" | LSMImageIO
| ??|| LSM|| .??
|-
|-
| rowspan="1" | MetaImageIO  
| rowspan="1" | MetaImageIO  
Line 78: Line 87:
| rowspan="1" | RawImageIO  
| rowspan="1" | RawImageIO  
| Uncompressed pixel data in binary || NRRD || .raw
| Uncompressed pixel data in binary || NRRD || .raw
|-
| rowspan="1" | SiemensVisionImageIO
| Uncompressed pixel data in binary || NRRD || .??
|-
| rowspan="1" | StimulateImageIO
| Uncompressed pixel data in binary || NRRD || .??
|-
|-
| rowspan="1" | TIFFImageIO  
| rowspan="1" | TIFFImageIO  
| Compressed pixel data in binary || NRRD || .tiff
| Compressed pixel data in binary || NRRD || .tiff
|-
| rowspan="1" | VTKImageIO
| Text header followed by uncompressed pixel data in binary || NRRD || .vtk
|}
|}

Revision as of 18:52, 10 September 2008

ImageIO API for GUI Support

The Need

When building GUI applications based on ITK, it is common to use the ImageFileReader and ImageFileWriter classes, that through the ImageIO Factories are capable of supporting a large number of image file formats.

There are in fact, so many file formats supported, that it is challenging to list them all in the File Dialog of a GUI at the application level.

Current Support

Currently the ImageIO classes support the GUI interfaces by providing the following API

 ArrayOfExtensionsType GetSupportedWriteExtensions() const
 ArrayOfExtensionsType GetSupportedReadExtensions() const
 void AddSupportedWriteExtension( const char * extension  )
 void AddSupportedReadExtension( const char * extension )

Proposed API

Enumeration of Extensions

  • Suggested API for the ImageIO classes
    • unsigned int GetNumberOfExtensions() const;
    • std::string GetNthExtension(unsigned int) const

Translation Table

ImageIO Description Family Extension
AnalyzeImageIO Uncompressed pixel data in binary Analyze .img
Uncompressed header in binary Analyze .hdr
BMPImageIO Uncompressed pixel data in binary BMP .bmp
BioRadImageIO ?? BioRad .??
Brains2ImageIO ?? Brains2 .??
DICOMImageIO ?? DICOM .??
GDCMImageIO ?? DICOM .??
GE4ImageIO ?? GE4 .??
GE5ImageIO ?? GE5 .??
GEAwImageIO ?? GEAw .??
GiplImageIO ?? GIPL .??
IPLImageIO ?? IPL .??
JPEGImageIO Compressed pixel data in binary JPEG .jpg
LSMImageIO ?? LSM .??
MetaImageIO ASCII Text Header MetaImage .mhd
NiftiImageIO Uncompressed pixel data in binary Nifti .img
NrrdImageIO Uncompressed pixel data in binary NRRD .nrrd
PNGImageIO Uncompressed pixel data in binary NRRD .png
RawImageIO Uncompressed pixel data in binary NRRD .raw
SiemensVisionImageIO Uncompressed pixel data in binary NRRD .??
StimulateImageIO Uncompressed pixel data in binary NRRD .??
TIFFImageIO Compressed pixel data in binary NRRD .tiff
VTKImageIO Text header followed by uncompressed pixel data in binary NRRD .vtk