Продолжаем разбираться со особенностями МРТ-данных для обучения нейронных сетей. Содержание и первые части цикла статей здесь.
4. Геометрия МРТ изображений
4.1. Размеры и значения пикселей\вокселей
Дискретность К-пространства естественным образом влечет за собой обобщение реальных данных в пределах одного элемента матрицы и, в последующем, в пределах одного пикселя итогового изображения. Реальные размеры пикселей задаются в миллиметрах.
Однако сигналы объединяются не в плоскости, а по объему, третьим измерением которого является толщина слайса. Даже если рассматривать отдельные слайсы, т.е. 2D-изображения, каждый пиксель все равно будет иметь значение, соответствующее совокупности всех сигналов вокселя.
Для достаточно крупных однородных органов или тканей такая дискретизация несущественна. Однако для мелких объектов и в случае попадания границы между разными тканями внутрь одного вокселя могут возникать искажения, которые затрудняют диагностику. Например, если раковый узел имеет диаметр 2 мм, а толщина слайсов выбрана 3 мм или более.
Ситуацию может усугубить еще один параметр исследования – расстояние между слайсами. Это реальное расстояние в мм между центрами слайсов по соответствующей оси. Если оно больше толщины слайсов, то образуются зазоры, информация из которых потеряна. Если меньше, то слайсы частично перекрывают друг друга. Потерянную информацию полностью восстановить невозможно, хотя существует множество способов 3D-реконструкции с интерполяцией промежуточных данных (например).
При интерпретации значений пикселей нужно иметь в виду еще один важный параметр исследования – количество усреднений, т.е. количество повторов ИП, сигналы которых усредняются. При неоднократном повторе сигнал от одной и той же области будет одинаковым, а шум каждый раз разным, и при усреднении соотношение сигнал\шум будет выше. Но и время исследования это увеличивает кратно количеству повторений.
При компьютерном анализе изображений необходимо понимать специфику значений пикселей\вокселей. Например, если при сегментации на слайсах с границей органа\ткани модели начинают вести себя нестабильно (здесь выделяют, а здесь нет). Или если речь идет об обнаружении мелких объектов, изображения которых могут сильно отличаться в разных исследованиях и даже в разных сериях одного исследования из-за суммирования с сигналами от разных объемов соседних тканей внутри одного вокселя. Или при использовании в датасете слайсов с разным размером вокселей… И т.д. И т.п.
Реальные размеры пикселей, толщина слайсов и расстояние между ними (все в миллиметрах) сохраняются в тэгах DICOM-файлов:
(0028,0030) Pixel Spacing
(0018,0050) Slice Thickness
(0018,0088) Spacing Between Slices
Что касается самих значений, то они обычно представляются в целочисленной шкале от 0 (самый темный пиксель, самая низкая интенсивность сигнала) до N (самый светлый, самая высокая интенсивность). Максимальное значение может составлять от нескольких сотен до десятков тысяч. К сожалению, в МРТ нет единого стандарта, поэтому исследования, проведенные на разных МР-томографах, нельзя сравнивать друг с другом по абсолютным значениям. И даже разные серии одного исследования могут иметь разное распределение значений, т.к. интенсивность сигнала увеличивается с размером вокселя. При иной толщине слайса или размерах пикселей яркость и контраст изображений будет другим.
Целочисленные шкалы вызывают и другие проблемы в DS-задачах. Например, затруднительно использовать аугментации и предобученные нейронные сети, которые имеют дело со значениями в диапазоне от 0 до 255. Простое преобразование исходной шкалы к этому диапазону приведет к потере данных, которая может оказаться существенной. Особенно, если распределение сильно скошено, а шкала достаточно длинная.
Таким образом, для DS-задач, особенно использующих разнородные данные, остро стоит проблема выравнивания распределений.
4.2. Поле зрения (FOV)
Поле зрения (Field of View, FOV) – это часть тела пациента, представленная на слайсе.
Во время исследования задается FOV, размер К-пространства и итоговые размеры слайсов, из которых потом рассчитываются реальные размеры пикселей. Для получения изображения с высоким разрешением нужны маленькие пиксели, т.е. FOV должен быть меньше и\или матрица К-пространства больше.
Ограничения на время исследования, мощность аппаратуры и интенсивность сигналов из маленьких вокселей ограничивают и размер К-пространства сверху. А FOV не может быть меньше исследуемой области. К тому же, выбор параметров операторами томографов не всегда оптимален с точки зрения качества данных для DS. Поэтому в обучение и, затем, в инференс нейронным сетям попадают изображения с разным, иногда достаточно низким разрешением.
В тэгах DICOM-файлов размер К-пространства присутствует не всегда, но даже если он есть, последующий ресайз слайсов до целевого размера делает это значение не столь важным. Информации о FOV обычно там нет, но его можно оценить, умножив размеры пикселей на высоту и ширину слайса. Это может оказаться полезным, например, при балансировке датасета по масштабу представленных изображений.
Также величину FOV можно использовать в препроцессинге для ресайза слайсов до единых размеров пикселей, чтобы уменьшить разнообразие по этому параметру. Искажения при масштабировании с учетом уже имеющихся могут оказаться менее важными для нейронных сетей, чем разнородные размеры пикселей.
4.3. Системы координат
В МРТ-исследованиях применяются 3 системы координат (СК):
Глобальная (World Coordinate System) – декартова СК, которая привязана к томографу. Единая СК для всех данных исследования. Единицы измерения – миллиметры.
Анатомическая (например, LPS - Left, Posterior, Superior или RAS - Right, Anterior, Superior) – привязана к пациенту, предназначена, в первую очередь, для определения плоскости и направления сканирования: Right:Left, Anterior:Posterior, Superior:Inferior. LPS и RAS – разные СК, которые отличаются только направлением осей. LPS используется, например, в формате DICOM и библиотеке ITK toolkit (см. далее). RAS используется, например, в 3D Slicer.
СК изображения (IJK Coordinate System – pixel(I,J) & slice K, или IRC Coordinate System – Index, Row, Column) – привязана к конкретному слайсу или 3D-объему, предназначена для идентификации положения пикселей\вокселей относительно данных.
В разных публикациях и документациях можно встретить различные названия систем координат, что может вызвать путаницу. Однако для DS-задач важно не их название, а суть и содержащие нужную информацию DICOM-тэги.
Можно упрощенно считать, что для каждого исследования существуют 2 системы координат:
Глобальная – единое пространство, в котором «существуют» все серии исследования. Начало координат задается оператором в привязке к исследуемой области тела пациента. По умолчанию оси направлены по схеме LPS. Единицы измерений – миллиметры.
Локальная – система координат каждого слайса каждой серии. Ее начало координат (левый верхний угол изображения) и направления осей относительно глобальной СК содержатся в тэгах каждого DICOM-файла. Единицы измерений – пиксели.
Область в пространстве глобальной СК, которую занимает отдельный слайс, определяется следующими параметрами изображения:
Начало координат (Origin) – координаты центра левого верхнего вокселя слайса в глобальной СК. DICOM-тэг (0020,0032) Image Position (Patient).
Интервалы (Spacing) – вектор расстояний между центрами пикселей вдоль каждого из измерений в единицах глобальной СК. DICOM-тэг (0028,0030) Pixel Spacing.
Размер (Size) – количество пикселей в каждом измерении. DICOM-тэги (0028,0010) Rows и (0028,0011) Columns
Матрица направляющих косинусов (Direction cosine matrix) — косинусы углов между осями локальной и глобальной СК. DICOM-тэг (0020,0037) Image Orientation (Patient). Хранится как одномерный вектор.
Начало координат локальной СК соответствует центру пикселя с координатами (0, 0). В отличие от представленного выше рисунка, такой пиксель обычно расположен в левом верхнем углу изображения. И соответствующие оси направлены вдоль первой строки (слева направо) и первого столбца (сверху вниз). Также на этом упрощенном рисунке не представлены z-координаты и направляющие косинусы с осью Z.
Объемность пикселя\вокселя приводит к тому, что реальная область пространства, которую занимает изображение, выходит за координаты крайних точек на полуинтервал по каждой оси. Это важно при расчетах и преобразованиях, где требуется высокая точность или точное сопоставление разных изображений в едином пространстве глобальной СК.
Указанные параметры часто применяются на практике, например, для решения следующих задач:
Расчет FOV по размерам слайса и расстоянию между центрами пикселей.
Упорядочивание слайсов в серии, например, для прямой аксиальной проекции – по z-координате начал отсчета слайсов.
Определение проекции по направлению осей локальной СК по отношению к осям глобальной.
Отбор серий и балансировка датасетов по, например, размерам вокселей и проекциям.
Сопоставление разных серий и интерполяция пикселей для полного совпадения слайсов (регистрация серий – см. далее).
Расчет реальных размеров органов, их зон и патологий.
И т.д.
Перевод координат из локальной в глобальную СК осуществляется по следующей формуле:
где:
[i, j] – координаты пикселя в локальной СК,
[x, y, z] – координаты того же пикселя в глобальной СК,
[Xx, Xy, Xz, Yx, Yy, Yz] – вектор направляющих косинусов (Direction cosine matrix),
[Dr, Dc] – вектор интервалов (Spacing) для строки и столбца соответственно,
[Ox, Oy, Oz] – вектор начала координат (Origin).
Все вышеописанное в полной мере относится к случаю, когда слайсы сохранены в 2D, т.е. каждый в своем DICOM-файле. Для данных, сохраненных в 3D в едином DICOM-файле, ситуация несколько иная – начало координат локальной СК задается для всего объема, а начало координат каждого слайса определяется исходя из других параметров.
Да и в 2D не все так просто и логично, как могло показаться. На практике можно столкнуться, например, с сильно «косыми» сериями, для которых алгоритм упорядочения по координатам не так тривиален. Другой случай – непараллельные слайсы, которые создают множество проблем, начиная от дробления одной серии на несколько с разными идентификаторами, заканчивая сохранением результатов разметки в едином 3D-объеме, как этого требует формат DICOM SEG.
В любом случае, как и ко всем DICOM-тэгам, к этим значениям нужно относиться настороженно и перед использованием проверять все, что только можно.