measureChromaticAberration

Измерьте хроматическую аберрацию в наклонных ребрах с помощью графика Imatest® eSFR

Синтаксис

aberrationTable = measureChromaticAberration(chart)
aberrationTable = measureChromaticAberration(chart,Name,Value)

Описание

пример

aberrationTable = measureChromaticAberration(chart) измеряет хроматическую аберрацию во всех наклонных видимых областях ребра (КОРОЛИ) графика Imatest® eSFR.

aberrationTable = measureChromaticAberration(chart,Name,Value) измеряет хроматическую аберрацию с дополнительными параметрами, чтобы задать подмножество КОРОЛЕЙ, чтобы измериться.

Примеры

свернуть все

Считайте изображение графика eSFR в рабочую область.

I = imread('eSFRTestImage.jpg');

Создайте объект esfrChart, затем отобразите график с аннотациями ROI. 60 наклонных КОРОЛЕЙ ребра маркированы зелеными числами.

chart = esfrChart(I);
displayChart(chart,'displayColorROIs',false,...
    'displayGrayROIs',false,'displayRegistrationPoints',false)

Измерьте хроматическую аберрацию во всех наклонных КОРОЛЯХ ребра. Исследуйте содержимое возвращенной таблицы, chTable, для одного ROI.

chTable = measureChromaticAberration(chart);
ROIIndex = 3;
chTable(3,:)
ans=1×5 table
    ROI    aberration    percentAberration     edgeProfile     normalizedEdgeProfile
    ___    __________    _________________    _____________    _____________________

     3       1.9164           0.14883         [348x4 table]        [348x4 table]    

Сохраните нормированный краевой профиль в отдельной переменной, edgeProfile, для ясности. Исследуйте нормированную интенсивность цвета первого и последнего пикселя edgeProfile.

edgeProfile = chTable.normalizedEdgeProfile{ROIIndex};
edgeProfile([1 end],:)
ans=2×4 table
    normalizedEdgeProfile_R    normalizedEdgeProfile_G    normalizedEdgeProfile_B    normalizedEdgeProfile_Y
    _______________________    _______________________    _______________________    _______________________

          -0.0022049                  0.0094112                  0.0088172                  0.0050968       
             0.98511                    0.98953                       1.01                      0.986       

Постройте нормированную интенсивность для ROI.

npix = length(edgeProfile.normalizedEdgeProfile_R);
plot(1:npix,edgeProfile.normalizedEdgeProfile_R,'r', ...
    1:npix,edgeProfile.normalizedEdgeProfile_G,'g', ...
    1:npix,edgeProfile.normalizedEdgeProfile_B,'b')
xlabel('Pixel')
ylabel('Normalized Intensity')
title(['ROI ' num2str(ROIIndex) ' with Aberration ' num2str(chTable.aberration(ROIIndex))])

Синий канал имеет более высокую интенсивность, чем красные и зеленые каналы сразу перед ребром и более низкой интенсивностью, чем красные и зеленые каналы сразу после ребра. Это различие в интенсивности способствует измеренному значению хроматической аберрации.

Измеренные значения aberration и percentAberration для этого ребра являются относительно маленькими. Визуальный осмотр изображения подтверждает, что стороны ребра не имеют сильного цветного оттенка.

Входные параметры

свернуть все

график eSFR, заданный как объект esfrChart.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: measureChromaticAberration(myChart,'ROIIndex',2) измеряет хроматическую аберрацию только ROI 2.

Индексы ROI, чтобы включать в измерения, заданные как пара, разделенная запятой, состоящая из 'ROIIndex' и скаляра или вектора целых чисел в области значений [1, 60]. Индексы совпадают с числами ROI, отображенными displayChart.

Примечание

measureChromaticAberration использует пересечение КОРОЛЕЙ, заданных 'ROIIndex' и ' ROIOrientation '.

Пример: 29:32

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Ориентация ROI, заданная как пара, разделенная запятой, состоящая из 'ROIOrientation' и 'both', 'vertical' или 'horizontal'. Функция measureChromaticAberration выполняет измерения только на КОРОЛЯХ с заданной ориентацией.

Примечание

measureChromaticAberration использует пересечение КОРОЛЕЙ, заданных ' ROIIndex ' и 'ROIOrientation'.

Пример: 'vertical'

Типы данных: char | string

Выходные аргументы

свернуть все

Измерения хроматической аберрации, возвращенные как m-by-5 таблица. m является количеством выбранных КОРОЛЕЙ.

Эти пять столбцов представляют эти переменные:

ПеременнаяОписание
ROIИндекс выбранного ROI. Значение ROI является целым числом в области значений [1, 60].
aberration

Хроматическая аберрация, измеренная как область между максимумом и минимальными красными, зелеными, и синими профилями интенсивности ребра. Измеренная хроматическая аберрация указывает на перцепционную хроматическую аберрацию. aberration является скаляром типа double.

percentAberrationАберрация, выраженная как процент расстояния в пикселях между центром изображения и центром ROI.
edgeProfile

Профиль интенсивности каждого цветового канала через ребро в ROI. edgeProfile является s-by-4 таблица, где s является количеством выборок через ребро. Эти четыре столбца представляют красный, зеленый, синий цвет, и значения яркости, усредненные вдоль ребра.

Яркость (Y) является линейной комбинацией красного (R), зеленый (G), и синий (B) каналы согласно:

Y = 0.213R + 0.715G + 0.072B

Примечание

Уровень выборки для измерения хроматической аберрации является приблизительно четыре раза уровнем выборки изображения.

normalizedEdgeProfile

Профиль интенсивности, нормированный между [0, 1] использование 5% фронтэнда и заключительная часть данных. normalizedEdgeProfile является s-by-4 таблица с подобной структурой к edgeProfile.

Советы

  • Хроматическая аберрация лучше всего измеряется в наклонных ребрах, которые являются:

    • Примерно ортогональный к строке, соединяющей центр изображения и центр ROI

    • Самый дальний от центра изображения

    Поскольку хроматическая аберрация увеличивается радиально с центра изображения, измерения в наклонных ребрах около центра изображения могут быть проигнорированы.

  • Абсолютная хроматическая аберрация, о которой сообщают в поле aberration, измеряется в горизонтальном или вертикальном направлении. Однако хроматическая аберрация является радиальным явлением, и радиальные измерения более точны.

Введенный в R2017b