GithubHelp home page GithubHelp logo

msotreproducibilityanalysis's Introduction

Code supplementing the paper: Teachability Of Multispectral Optoacoustic Tomography

Yi Li1#, Janek Gröhl2,3#, Briain Haney1, Milenko Caranovic1, Eva Lorenz-Meyer1,7, Julius Kempf1, Adrian P. Regensburger4, Emmanuel Nedoschill4, Adrian Bühler4, Werner Lang1, Michael Uder5, Markus F. Neurath6,8,9, Maximilian Waldner6,8,9, Ferdinand Knieling4*, Ulrich Rother1*

# ,* Contributed equally

Affiliations

1 Department of Vascular Surgery, University Hospital Erlangen, Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Krankenhausstraße 12, D-91054 Erlangen, Germany

2 Cancer Research UK Cambridge Institute, University of Cambridge, Cambridge, U.K.

3 Department of Physics, University of Cambridge, Cambridge, U.K.

4 Department of Pediatrics and Adolescent Medicine, University Hospital Erlangen, Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Loschgestraße 15, D-91054 Erlangen, Germany

5 Institute of Radiology, University Hospital Erlangen, Friedrich-Alexander- Universität Erlangen-Nürnberg (FAU), Maximiliansplatz 1, D-91054 Erlangen, Germany

6 Department of Medicine 1, University Hospital Erlangen, Friedrich-Alexander- Universität Erlangen-Nürnberg (FAU), Ulmenweg 18, D-91054 Erlangen, Germany

7 Faculty of Medicine, Friedrich-Alexander- Universität Erlangen-Nürnberg (FAU), Krankenhausstraße 12, D-91054 Erlangen, Germany

8 Deutsches Zentrum für Immuntherapie (DZI), University Hospital Erlangen, Friedrich-Alexander- Universität Erlangen-Nürnberg (FAU), Ulmenweg 18, D-91054 Erlangen, Germany

9 Erlangen Graduate School in Advanced Optical Technologies (SAOT), Friedrich-Alexander-Universität Erlangen-Nürnberg, Paul-Gordan-Straße 6, D-91052 Erlangen, Germany

Installing

Download this repository from github and download the corresponding data from zenodo (https://doi.org/10.5281/zenodo.10957316).

Create a new virtual environment and install the requirements listet in requirements.txt, for example, using pip:

pip install -r requirements.txt

It is then important to change the path.py file and set the BASE_DATA_PATH variable to point to the base directory of the data folder downloaded from zenodo.

Afterwards all scripts, apart from process_data.py should be executable and should reproduce the results as depicted in the paper.

General data analysis idea

We wanted to find out the repeatability of measurements of the same muscle using a clinical photoacoustic imaging system with the focus on whether there are significant differences between expert and novice users, and how a novice user that received personal training falls into this category.

Each operator took 7 independent measurements of a muscle on the left and right extremity of 5 subjects. We treated each of the 10 locations as independent and used full-reference image quality measures to quantify the difference between the measurements. For each location, we analyse all data pair permutations, assuming that d(A, B) = d(B, A) by computing the Mean Absolute Error, the Normalised Cross Correlation, the Bhattacharyya Distance, and the Structural Similarity Index Measure.

These values are computed using the compute_distance_values.py script and the results are saved in a JSON file.

To assess whether there are significant differences between the measurements, we then perform a bootstrapped ranking analysis resulting in a podium plot, where randomly choose a subset of the data with replacement for 100 times and note down which operator performed the best in the given data sample. Using these results, we can compute the median rank of each operator for each of the distance measures, which gives an indication if there are significant trends even with random data permutations.

This can be done with the visualise_data_and_podium_plot.py file and the results are saved as SVG graphics in the base folder.

There are more script that visualise and plot different aspects of the findings: overall_performance_results.py prints the mean score for each measure over all operators for the first imaging session compared to the second imaging session. showcase_variability_differences.py creates a graphic that shows an example data point to qualitatively assess the difference between an expert, novice and trained operator. visualise_example_data.py visualises a PA + US data pair.

The operators recorded for 49 frames at each location and by default, the analysis is performed on the average reconstruction over those frames. Additionally, PA imaging was performed over 6 wavelengths: [700, 730, 760, 800, 850, 900] nanometers but only 800nm was chosen for the analysis. However, every third frame and all wavelengths are included in the zenodo data archive and can also be used for other research purposes at the users discretion.

msotreproducibilityanalysis's People

Contributors

jgroehl avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.