exponenta event banner

measureChromaticAberration

Измерение хроматической аберрации на наклонных краях с помощью диаграммы Imatest eSFR

Описание

пример

aberrationTable = measureChromaticAberration(chart) измеряет хроматическую аберрацию во всех краевых областях, представляющих интерес (ROI) диаграммы Imatest ® eSFR [1].

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)

Figure eSFR test chart contains an axes. The axes contains 61 objects of type image, text.

Измерьте хроматическую аберрацию во всех ROI наклонных краев. Проверьте содержимое возвращенной таблицы, chTable, для одной окупаемости инвестиций.

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

     3       1.5261           0.11843         {336x4 table}        {336x4 table}    

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

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

          -0.0014365                  0.0072757                  0.0089823                  0.0052007       
             0.98138                     0.9884                    0.98325                    0.98792       

Постройте график нормированной интенсивности для 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))])

Figure eSFR test chart contains an axes. The axes with title ROI 3 with Aberration 1.5261 contains 3 objects of type line.

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

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

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

свернуть все

Диаграмма eSFR, указанная как esfrChart объект.

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: '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-на-5. m - количество выборок ROI.

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

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

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

percentAberrationАберрация, выраженная в процентах от расстояния в пикселях между центром изображения и центром окупаемости инвестиций.
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.

Совет

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

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

    • Дальше всего от центра изображения

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

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

Ссылки

[1] Имитация. «Эсфр.» https://www.imatest.com/mathworks/esfr/.

Представлен в R2017b