Description
Is your feature request related to a problem? Please describe.
- As a PyTorch user, I was surprised that MONAI does not follow PyTorch's dimension order convention (MONAI:
WHD
, PyTorch:DHW
).
- I also thought that it is odd that the images are not represented in the way that a radiologist would look at them, with the patient facing up or down, instead of left or right. However, I understand that this is the convention that MONAI settled on. I will only be proposing a more transparent and flexible approach further below.

- Finally, the
reverse_indexing
option in LoadImage is misleading - I tried it withNrrdReader
,NibabelReader
, andITKReader
, and it only worked withITKReader
. At least in theory for my case (not to clutter the post, I will upload the picture in the response).
Here are a few issues/discussions describing the confusion/differences/conventions:
- MedIO for MONAI #2189 (comment)
- Confused about dimension order in MONAI and how to develop C++ inference with ITK #2888
- Confused by dimension order in MONAI. #4872
- question about the feature map's order? #362 (comment)
- Enhance Documentation of LoadImage to Clarify Image Transposition #4862
Describe the solution you'd like
Similarly to how LoadImage
has ensure_channel_first
, it would be really transparent, flexible, and a non-breaking change to have:
order
/dim_order
, set by default toWHD
as per MONAI convention, but a user could change it toDWH
or any other combination.orientation
, can be set toRAS
,LPS
, etc. I am not sure right now if there is a consistent convention for different formats or if it varies. It could be implemented in a "non-breaking" way, similar to howLoadImage
'sreader
is implemented, but it might be useful to have it consistent for all formats.- [Optional] If 1. is implemented,
reverse_indexing
is probably unnecessary.
Additional context
Personally, even though I have been using MONAI for quite a while now, I always transpose the images so that: 1) they follow the PyTorch convention, 2) we see the axial slice (first dim after batch and channel dims) in the same way that a radiologist would look at it. I also orient the images LPS, but that's irrelevant rn.
The proposed approach may be particularly important for sharing models/MONAI Bundle - the dimension order or orientation used can be different between models and easily overlooked, rendering the weights almost useless if the data is not in the correct format. The proposed feature would make it more transparent as well as more easily documented by developers/sharers.