Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

measureChromaticAberration

Mida la aberración cromática en los bordes inclinados usando imatest® Carta eSFR

Sintaxis

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

Descripción

ejemplo

aberrationTable = measureChromaticAberration(chart) mide la aberración cromática en todas las regiones del borde inclinado de interés (Rois) de un Imatest® Carta eSFR.

aberrationTable = measureChromaticAberration(chart,Name,Value) mide la aberración cromática con parámetros adicionales para especificar un subconjunto de Rois a medir.

Ejemplos

contraer todo

Lea una imagen de un gráfico de eSFR en el espacio de trabajo. Linearización de la imagen.

I = imread('eSFRTestImage.jpg'); I_lin = rgb2lin(I);

Cree un objeto esfrChart utilizando la imagen de gráfico lineal y, a continuación, muestre el gráfico con anotaciones de ROI. Los Rois de borde inclinado 60 están etiquetados con números verdes.

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

Mida la aberración cromática en todos los Rois del borde inclinado. Examine el contenido de la tabla devuelta, chTable, para obtener un ROI único.

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

     3       1.8214           0.1415          [348x4 table]        [348x4 table]    

Trazar la intensidad normalizada para ese ROI. Almacene el perfil de borde normalizado en una variable separada, edgeProfile, para mayor claridad.

edgeProfile = chTable.normalizedEdgeProfile{ROIIndex}
edgeProfile=348×4 table
    normalizedEdgeProfile_R    normalizedEdgeProfile_G    normalizedEdgeProfile_B    normalizedEdgeProfile_Y
    _______________________    _______________________    _______________________    _______________________

           -0.0019159                -0.0052604                   0.0018654                 -0.0050984      
           0.00064307                 0.0016012                    0.007665                  0.0018985      
            0.0047292                  0.004937                   -0.010688                  0.0051152      
           -0.0063185                -0.0071078                  -0.0043257                 -0.0069145      
           9.8248e-05                0.00028167                   0.0034132                -0.00040942      
            0.0040778                 0.0039764                    0.010264                  0.0040204      
            0.0054102                 0.0076711                  -0.0095022                    0.00755      
           -0.0083363                -0.0079699                  0.00031015                 -0.0079333      
            0.0038055                 0.0017068                 -0.00096097                  0.0021258      
          -0.00026496                -0.0023867                    0.006826                 -0.0018463      
            0.0024255                 0.0025396                  -0.0099785                  0.0026976      
           -0.0099311                -0.0093365                  0.00078869                 -0.0093403      
            0.0025726                 0.0043935                  -0.0016773                  0.0038921      
           0.00064307                 0.0021052                   0.0043385                  0.0016508      
            0.0018538                 0.0025724                  -0.0059163                   0.002397      
           -0.0067509                -0.0065905                   0.0024829                 -0.0065973      

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

El canal azul tiene una intensidad más alta que los canales rojos y verdes inmediatamente antes del borde, y una intensidad más baja que los canales rojos y verdes inmediatamente después del borde. Esta diferencia de intensidad contribuye al valor medido de la aberración cromática.

Los valores medidos de aberration y de percentAberration para este borde son relativamente pequeños. La inspección visual de la imagen confirma que los lados del borde no tienen un tinte de color fuerte.

Argumentos de entrada

contraer todo

gráfico eSFR, especificado como un objeto esfrChart .

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos Name,Value . Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer dentro de comillas simples (' '). Puede especificar varios argumentos de par de nombre y valor en cualquier orden como Name1,Value1,...,NameN,ValueN.

Ejemplo: measureChromaticAberration(myChart,'ROIIndex',2) mide la aberración cromática sólo del ROI 2.

Índices de ROI para incluir en mediciones, especificados como pares separados por comas constituidos por 'ROIIndex' y un escalar o vector de enteros en el rango [1, 60]. Los índices coinciden con los números de ROI mostrados por displayChart.

Nota

measureChromaticAberration utiliza la intersección de Rois especificada por 'ROIIndex' y 'ROIOrientation'.

Ejemplo: 29:32

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Orientación del ROI, especificada como el par separado por comas consistente en 'ROIOrientation' y 'both', 'vertical'o 'horizontal'. La measureChromaticAberration la función realiza mediciones sólo en Rois con la orientación especificada.

Nota

measureChromaticAberration utiliza la intersección de Rois especificada por 'ROIIndex' y 'ROIOrientation'.

Ejemplo: 'vertical'

Tipos de datos: char | string

Argumentos de salida

contraer todo

Mediciones cromáticas de la aberración, vueltas como tabla de m-por-5. m es el número de Rois muestreados.

Las cinco columnas representan estas variables:

VariableDescripción
ROIÍndice del ROI muestreado. El valor de ROI es un entero en el intervalo [1, 60].
aberration

Aberración cromática, medida como el área entre el máximo y el mínimo de los perfiles rojo, verde y azul de la intensidad del borde. La aberración cromática medida indica aberración cromática perceptiva. aberration es un escalar de tipo double.

percentAberrationAberración, expresado como un porcentaje de la distancia en píxeles entre el centro de la imagen y el centro del ROI.
edgeProfile

Perfil de la intensidad de cada canal del color a través del borde en el ROI. edgeProfile es una tabla s-por-4, donde s es el número de muestras a través del borde. Las cuatro columnas representan los valores rojo, verde, azul y luminancia, promediados a lo largo del borde.

Luminancia (Y) es una combinación lineal de los canales rojo (R), verde (G) y azul (B) según:

Y = 0.213R + 0.715G + 0.072B

Nota

La frecuencia de muestreo para la medición de la aberración cromática es aproximadamente cuatro veces la velocidad de muestreo de la imagen.

normalizedEdgeProfile

Perfil de la intensidad, normalizado entre [0.1] usando el 5% del extremo delantero y del extremo de la cola de datos. normalizedEdgeProfile es una tabla s-por-4 con una estructura similar a edgeProfile.

Sugerencias

  • La aberración cromática se mide mejor en los bordes inclinados que son:

    • Aproximadamente ortogonal a la línea que conecta el centro de la imagen y el centro del ROI

    • Más lejos del centro de la imagen

    Debido a que la aberración cromática aumenta radialmente desde el centro de la imagen, las mediciones en los bordes inclinados cerca del centro de la imagen pueden ignorarse.

  • La aberración cromática absoluta reportada en el campo aberration se mide en la dirección horizontal o vertical. Sin embargo, la aberración cromática es un fenómeno radial, y las mediciones radiales son más precisas.

  • Realizar mediciones cromáticas de aberraciones en datos lineales. Utilice rgb2lin para alinear imágenes sRGB.

Consulte también

|

Introducido en R2017b