Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Field Homogeneity features of MetroloJQC #21

Open
julien-cau opened this issue Nov 18, 2022 · 1 comment
Open

Field Homogeneity features of MetroloJQC #21

julien-cau opened this issue Nov 18, 2022 · 1 comment

Comments

@julien-cau
Copy link

Here are the main steps of the Field Illumination algorithm.
1- Image is split into individual channel images.
2- (opt) Each channel is blurred (Gaussian blur, sigma 2.0) [mind this influences the next step as it may remove saturated noise pixels]
3- Saturation is measured
4- A fia (field illumination array) class is created for each channel. This arrays stores coordinates
5- ImageStatistics are computed for each channel.

  • xCenterOfMass and yCenterOfMass are used and stored as xCenterOfMass and yCenterOfMass
  • min is used (stored as min). Using the min value, the pixel (starting from (0,0) and scanning lines after lines) that has the min value is considered as the minimum pixel. Coordinates are stored as xMin and yMin.
  • max is used (stored as max. Using the max value, the pixel (starting from (0,0) and scanning lines after lines) that has the max value is considered as the minimum pixel. Coordinates are stored as xMax and yMax. Mind that if several pixels have the min or max value, only the first one will be considered as min and max pixels.
    6- (opt) Using the max value, a threshold is set (derived from the bins of the normalized intensity image). For instance if bins are set to 10, a threshold 0.9max-max is set (for each channel using respective max values).
    7- ImageStatistics of the thresholded image are computed and xCenterOfMass and yCenterOfMass are used for xCentThresholdZone and yCentThresholdZone. If the (“use last bin as max reference zone”) option is not chosen, then a max-max threshold is used.
    8- A normalized intensity image is computed using the bins (each pixel which intensity is “in a bin” are given the same “bin” value).
    Uniformity is calculated (min/max * 100.0).
    9- Intensity of remarkable pixels are measured (corners, edges middles).
    10- FieldUniformity is calculated as = 100.0 - 100.0 * standard deviation of (intensities of remarkable pixels) / max;
    centeringAccuracy is calculated as
    100-100
    2/√(〖image^' s width〗^2+〖image^' s height〗^2 )√(〖(xCentThresholdZone-(image^' s width)/2)〗^2+〖(yCentThresholdZone-(ima〖ge〗^' s height)/2)〗^2 )
    If the (“use last bin as max reference zone”) was not chosen, centeringAccuracy is calculated as
    100-100
    2/√(〖image^' s width〗^2+〖image^' s height〗^2 )*√((xMax-(image^' s width)/2)^2+(yMax-(ima〖ge〗^' s height)/2)^2 )

11- Profile images are generated by drawing an intensity/coordinates plot along the remarkable lines.

@juliomateoslangerak
Copy link
Member

This has been pulled into main f74efc3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants