measureChromaticAberration

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

Описание

пример

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

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

Примеры

свернуть все

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

I = imread('eSFRTestImage.jpg');

Создайте esfrChart объект, затем отобразите график с аннотациями ROI. 60 наклонных ROI ребра помечены зелеными числами.

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

Измерьте хроматическую аберрацию во всех наклонных ROI ребра. Исследуйте содержимое возвращенной таблицы, 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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Примечание

measureChromaticAberration использует пересечение ROI, заданных 'ROIIndex' и 'ROIOrientation'.

Пример: 29:32

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

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

Примечание

measureChromaticAberration использует пересечение ROI, заданных 'ROIIndex' и 'ROIOrientation'.

Пример: 'vertical'

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

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

свернуть все

Измерения хроматической аберрации, возвращенные как m-by-5 таблица. m является количеством произведенных ROI.

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

ПеременнаяОписание
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