https://github.com/bayer-group/mr-image-metrics

https://github.com/bayer-group/mr-image-metrics

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 15 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.3%) to scientific vocabulary

Keywords

beat-undefined
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: Bayer-Group
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 187 KB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
beat-undefined
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Codeowners

README.md

Similarity and Quality Metrics for MR Images

This repository provides the metrics and distortions, that were presented in the paper:

M. Dohmen, M. Klemens, T. Truong, I. Baltruschat, M. Lenga: "Similarity and Quality Metrics for MR Image-to-Image Translation" submitted to Nature Scientific Reports (see preprint)

Installation

Clone repository

cd into iml-medical-image-metrics pip install medimetrics

Example Usage

``` import numpy as np

from medimetrics.metrics import MSE, BlurEffect from medimetrics.distortions import GaussianBlur, GammaHigh

blur = GaussianBlur(maxstrength=5) darker = GammaHigh(maxstrength=5)

imagetrue = np.linspace(0.0, 1.0, 128*128).reshape(128, 128) imagetestblurred = blur(imagetrue, strength=5) imagetestdarker = darker(image_true, strength=5)

mse = MSE() print(mse.compute(imagetrue, imagetest_darker))

0.0555207631635955

blureffect = BlurEffect() print(blureffect.compute(imagetestblurred))

0.9772262051422484

```

Metrics

Reference Metrics

  • MSE: Mean Squared Error
  • SSIM: Structural Similarity Index Measure
    • Wang, Z., Bovik, A. C., Sheikh, H. R. & Simoncelli, E. P. Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Process. 13, 600–12 (2004).
    • Implementation adapted from torchmetrics
  • MAE: Mean Absolute Error
  • MS-SSIM: Multi-Scale SSIM
    • Wang, Z., Simoncelli, E. & Bovik, A. Multiscale structural similarity for image quality assessment. In The Thirty-Seventh Asilomar Conference on Signals, Systems and Computers, 2003, vol. 2, 1398–1402 Vol.2, DOI: 10.1109/ACSSC.2003.1292216 (2003).
    • Implementation adapted from torchmetrics
  • CW-SSIM: Complex-Wavelet SSIM
    • Sampat, M. P., Wang, Z., Gupta, S., Bovik, A. C. & Markey, M. K. Complex wavelet structural similarity: A new image similarity index. IEEE Transactions on Image Process. 18, 2385–2401, DOI: 10.1109/TIP.2009.2025923 (2009).
    • Implementation adapted from github/dingkeyan93
  • PSNR : Peak-Signal-to-Noise-Ratio
    • Korhonen, J. & You, J. Peak signal-to-noise ratio revisited: Is simple beautiful? In 2012 Fourth International Workshop on Quality of Multimedia Experience, 37–38, DOI: 10.1109/QoMEX.2012.6263880 (2012)
  • LPIPS : Learned Perceptual Image Patch Similarity
    • Zhang, R., Isola, P., Efros, A. A., Shechtman, E. & Wang, O. The unreasonable effectiveness of deep features as a perceptual metric. CoRR ayn/1801.03924 (2018). 1801.03924.
    • Implementation integrated from pypi
  • DISTS : Deep Image Stucture and Texture Similarity
    • Ding, K., Ma, K., Wang, S. & Simoncelli, E. P. Image quality assessment: Unifying structure and texture similarity. IEEE Transactions on Pattern Analysis Mach. Intell. 44, 2567–2581, DOI: 10.1109/TPAMI.2020.3045810 (2022).
    • Implementation adapted from github/dingkeyan93
  • PCC : Pearson Correlation Coefficient
    • Implementation integrated from numpy
  • NMI : Normalized Mutual Information
    • Maes, F., Collignon, A., Vandermeulen, D., Marchal, G. & Suetens, P. Multimodality image registration by maximization of mutual information. IEEE Transactions on Med. Imaging 16, 187–198, DOI: 10.1109/42.563664 (1997).
    • Implementation adapted from scikit-image

Non-Reference Metrics

  • BlurWidths:
    • Marziliano, P., Dufaux, F., Winkler, S. & Ebrahimi, T. A no-reference perceptual blur metric. In Proceedings. International Conference on Image Processing, vol. 3, III–III, DOI: 10.1109/ICIP.2002.1038902 (2002).
    • Implementation inspired by: github/affaalfiandy
  • BlurJNB:
    • Ferzli, R. & Karam, L. J. A no-reference objective image sharpness metric based on the notion of just noticeable blur (jnb). IEEE Transactions on Image Process. 18, 717–728, DOI: 10.1109/TIP.2008.2011760 (2009).
    • Implementation adapted from: github/davidatroberts
  • BlurCPBD:
    • Narvekar, N. D. & Karam, L. J. A no-reference image blur metric based on the cumulative probability of blur detection (cpbd). IEEE Transactions on Image Process. 20, 2678–2683, DOI: 10.1109/TIP.2011.2131660 (2011).
    • Implementation adapted from: github/x64746b
  • BlurEffect:
    • Crété-Roffet, F., Dolmiere, T., Ladret, P. & Nicolas, M. The Blur Effect: Perception and Estimation with a New No- Reference Perceptual Blur Metric. In SPIE Electronic Imaging Symposium Conf Human Vision and Electronic Imaging, vol. XII, EI 6492–16 (San Jose, United States, 2007).
    • Implementation adapted from scikit-image
  • BlurRatio / MeanBlur:
    • Choi, M. G., Jung, J. H. & Jeon, J. W. No-reference image quality assessment using blur and noise. Int. J. Electr. Comput. Eng. 3, 184–188 (2009).
    • Own implementation
  • BRISQUE:
    • Mittal, A., Moorthy, A. K. & Bovik, A. C. No-reference image quality assessment in the spatial domain. IEEE Transactions on Image Process. 21, 4695–4708, DOI: 10.1109/TIP.2012.2214050 (2012).
    • Implementation integrated from pypi
  • NIQE: Natural Image Quality Estimator
    • Mittal, A., Soundararajan, R. & Bovik, A. C. Making a “completely blind” image quality analyzer. IEEE Signal Process. Lett. 20, 209–212, DOI: 10.1109/LSP.2012.2227726 (2013).
    • Implementation adapted from github/guptapraful
  • VarLaplace: Variance of Laplacian Pech-Pacheco, J., Cristobal, G., Chamorro-Martinez, J. & Fernandez-Valdivia, J. Diatom autofocusing in brightfield microscopy: a comparative study. In Proceedings 15th International Conference on Pattern Recognition. ICPR-2000, vol. 3, 314–317 vol.3, DOI: 10.1109/ICPR.2000.903548 (2000).
  • MeanTotalVar: Mean Total Variation
    • Rudin, L. I., Osher, S. & Fatemi, E. Nonlinear total variation based noise removal algorithms. Phys. D: Nonlinear Phenom. 60, 259–268, DOI: https://doi.org/10.1016/0167-2789(92)90242-F (1992)
    • Own implementation
  • MLC / MSLC: Mean Line Correlation / Mean Shifted Line Correlation
    • Schuppert et al., C. Whole-body magnetic resonance imaging in the large population-based german national cohort study: Predictive capability of automated image quality assessment for protocol repetitions. Investig. Radiol. 57 (2022).
    • Own implementation

Segmentation

  • DICE : DICE
    • Dice, L. R. Measures of the amount of ecologic association between species. Ecology 26, 297–302, DOI: https://doi.org/10.2307/1932409 (1945).
    • Own implementation

Distortions

  • Stripes Scales up the intensity of a single point in k-space, which leads to stripe artifacts
  • Bias Field Applies a synthetic bias field to the image
  • Ghosting Applies 2 ghosts in y-direction to the image
  • Gaussian Blur Applies a Gaussian filter to the image, which leads to blurring
  • Gaussian Noise Adds Gaussian noise to the image
  • Replace Artifact Mirrors a fraction of the upper half of the image to the lower half and replaces this part.
  • Shift Intensity Adds a fraction of the data range to all pixels
  • Gamma High Normalizes the image to range (0, 1). Takes all pixels to the power of gamma, with gamma > 1, and then scales back to the original data range. All image intensities become lower, the center of the histogram is effected the most.
  • Gamma Low Normalizes the image to range (0, 1). Takes all pixels to the power of gamma, with gamma < 1, and then scales back to the original data range. All image intensities become higher, the center of the histogram is effected the most.
  • Translation Shifts the image by a fraction of the image shape in x- and y-direction
  • Elastic Deform Randomly displaces nodes of a grid on the image and linearly interpolates the image between the nodes, which creates an elastic deformation

Owner

  • Name: Bayer Open Source
  • Login: Bayer-Group
  • Kind: organization

Science for a better life

GitHub Events

Total
  • Watch event: 4
  • Member event: 1
  • Push event: 4
  • Fork event: 1
  • Create event: 3
Last Year
  • Watch event: 4
  • Member event: 1
  • Push event: 4
  • Fork event: 1
  • Create event: 3

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 1
  • Total Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Melanie Dohmen m****n@b****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

poetry.lock pypi
  • brisque 0.0.16
  • certifi 2024.8.30
  • cfgv 3.4.0
  • charset-normalizer 3.4.0
  • cmake 3.31.0.1
  • colorama 0.4.6
  • distlib 0.3.9
  • elasticdeform 0.5.1
  • exceptiongroup 1.2.2
  • filelock 3.16.1
  • identify 2.6.2
  • idna 3.10
  • imageio 2.36.0
  • importlib-resources 6.4.5
  • iniconfig 2.0.0
  • jinja2 3.1.4
  • lazy-loader 0.4
  • libsvm-official 3.35.0
  • lit 18.1.8
  • lpips 0.1.4
  • markupsafe 3.0.2
  • mpmath 1.3.0
  • networkx 3.2.1
  • nibabel 5.3.2
  • nodeenv 1.9.1
  • numpy 1.26.4
  • opencv-python 4.9.0.80
  • packaging 24.2
  • pillow 11.0.0
  • platformdirs 4.3.6
  • pluggy 1.5.0
  • pre-commit 4.0.1
  • pyrootutils 1.0.4
  • pytest 8.3.3
  • python-dotenv 1.0.1
  • pyyaml 6.0.2
  • requests 2.32.3
  • scikit-image 0.22.0
  • scipy 1.11.4
  • sympy 1.13.3
  • tifffile 2024.8.30
  • tomli 2.1.0
  • torch 2.0.1+cu118
  • torchvision 0.15.2+cu118
  • tqdm 4.67.0
  • triton 2.0.0
  • typing-extensions 4.12.2
  • urllib3 2.2.3
  • virtualenv 20.27.1
  • zipp 3.21.0
pyproject.toml pypi
  • nibabel ^5.0.1 develop
  • pre-commit ^4.0.1 develop
  • pyrootutils ^1.0.4 develop
  • pytest ^8.3.3 develop
  • brisque ^0.0.16
  • elasticdeform ^0.5.1
  • lpips ^0.1.4
  • numpy ^1.24.2
  • opencv-python 4.9.0.80
  • pillow ^11.0.0
  • python ~3.9.6
  • scikit-image 0.22.0
  • scipy 1.11.4
  • torch 2.0.1
  • torchvision 0.15.2