В настоящее время я пытаюсь установить соглашения для обработки моего набора данных 4D, но Matlab сбивает меня с толку своими именами индексации:
Когда я загружаю, например, изображение с:
RGB = imread('peppers.png');
Я получаю матрицу 384 × 512 × 3, что означает 384 пикселя по первому измерению, 512 пикселей по второму измерению и 3 канала по третьему измерению. Но когда я рисую изображение с помощью imshow и помечаю правую нижнюю точку:
figure; imshow(RGB);
Кажется, что Matlab называет первую ось измерения «Y», а вторую ось измерения «X».
Я нашел в документации, как изменить направление оси с помощью свойств «XDir» и «YDir» set(gca, 'YDir', 'normal'), но я не нашел, как изменить их имена.
Я хотел бы соответствовать стандарту RAST (right-anterior-superior-time) и называть 1-е, 2-е, 3-е и 4-е измерения соответственно x, y, z, t без необходимости каждый раз транспонировать / переворачивать мои изображения Я хочу их показать.
Вы знаете, как этого добиться?





Порядок размеров в Matlab - это строки, затем столбцы, поэтому у вас есть 384 строки, что составляет высоту 384, следовательно, размер в направлении y равен 384. Также обратите внимание, что
imshow, что верхний левый является началом координат, что не является нормальным для других MATLAB сюжеты. Если вы используетеshiftdimили что-то подобное, чтобы поменять местами размеры, вы можете быстро запутать еще больше.