ITK Release 5/Wish List: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
No edit summary
Line 8: Line 8:
== Image IO ==
== Image IO ==
* Replacing current integer pixel IO types defined in itk::ImageIOBase by fixed width integer types
* Replacing current integer pixel IO types defined in itk::ImageIOBase by fixed width integer types
** unsigned char -> uint8_t
** char -> int8_t
** unsigned short -> uint16_t
** unsigned short -> uint16_t
** short -> int16_t
** short -> int16_t
Line 16: Line 14:
** unsigned long -> uint64_t
** unsigned long -> uint64_t
** long -> int64_t
** long -> int64_t
** ''char'' and ''unsigned char'' would keep being defined as ''char'' and ''unsigned char'' as these types is wildly use image formats.
* Currently, the size of each type may vary from one platform to another.
* Currently, the size of each type may vary from one platform to another.
* This is especially try for 'long' that is 32 bits on Windows/Visual Studio C++ 2013 (64 bits) but 64 bits on 64 bits Unix systems.  
* This is especially try for 'long' that is 32 bits on Windows/Visual Studio C++ 2013 (64 bits) but 64 bits on 64 bits Unix systems.  

Revision as of 13:07, 13 September 2016

The wish list is provided by members of the ITK development community. These requests will not necessarily be included in ITKv5.

Outstanding wishes

A detailed wish list was put together by the community when preparing for ITK v4. Many of the wishes expressed there could not be fulfilled at the time but are still valid:

Image IO

  • Replacing current integer pixel IO types defined in itk::ImageIOBase by fixed width integer types
    • unsigned short -> uint16_t
    • short -> int16_t
    • unsigned int -> uint32_t
    • int -> int32_t
    • unsigned long -> uint64_t
    • long -> int64_t
    • char and unsigned char would keep being defined as char and unsigned char as these types is wildly use image formats.
  • Currently, the size of each type may vary from one platform to another.
  • This is especially try for 'long' that is 32 bits on Windows/Visual Studio C++ 2013 (64 bits) but 64 bits on 64 bits Unix systems.
  • Files saved on one platform should be read the same on a different platform.
  • This would avoid having to compare `sizeof(mytype)` to know what type to use on a specific platform.
  • This issue was raised in this patch suggestion

C++11 throughout

As ITK uses templates heavily, it would greatly benefit from usage of few C++11 goodies, especially auto and decltype.

To take a step further, requiring the latest c++ standard (C++14? C++17?) available when starting a v5 endeavour could also be discussed.

VNL->Eigen

Replace VNL by Eigen, which is much more modern.