GithubHelp home page GithubHelp logo

lucasmansilla / multiatlas-rca Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 7.25 MB

Image segmentation and accuracy prediction via Multi-atlas segmentation (MAS) and Reverse classification accuracy (RCA)

License: MIT License

Python 93.31% Shell 6.69%
reverse-classification-accuracy jsrt-database xray-images medical-imaging multi-atlas image-registration

multiatlas-rca's Introduction

Image segmentation and accuracy prediction via Multi-atlas segmentation (MAS) and Reverse classification accuracy (RCA)

This repository contains an extended version of the source code corresponding to the paper "Segmentación multi-atlas de imágenes médicas con selección de atlas inteligente y control de calidad automático" (La Plata, 2018). You can check out our paper here: http://sedici.unlp.edu.ar/handle/10915/73180.

Description

The key features of the project are as follows:

  • Atlas selection by image similarity. Available image measures are: Mean absolute error (MAE), Mean squared error (MSE), Normalized cross correlation (NCC) and Mutual information (MI).
  • Deformable image registration (with affine initialization) via SimpleElastix.
  • Two label fusion techniques: Voting and STAPLE.
  • Quality evaluation for predicted segmentations via RCA.

Instructions

This project uses Python 3.8.10.

Project environment:

  1. Create and activate virtual environment: 1) python3 -m venv env 2) source env/bin/activate
  2. Install required packages: pip install -r requirements.txt
  3. Install project modules (src): pip install -e .
  4. Install SimpleElastix toolbox following this guide.

Simulations:

  • Multi-atlas: ./01_run_multiatlas.sh
  • RCA: ./02_run_rca.sh

Reference

  • Mansilla, L., & Ferrante, E. (2018). Segmentación multi-atlas de imágenes médicas con selección de atlas inteligente y control de calidad automático. In XXIV Congreso Argentino de Ciencias de la Computación (La Plata, 2018).

License

MIT

multiatlas-rca's People

Contributors

lucasmansilla avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

lamansilla

multiatlas-rca's Issues

Can this work for jpeg or png images

Im trying to use this repo but it looks like it only supports nifit files. Is there a way to get it working for jpg or png files?

When trying to use regular png and jpg files, I get this error:

`Loading list of test images...
Loading Elastix registration parameters...
Building Multi-Atlas Segmentation model...
Building RCA Classifier...
Loop over test images...
1/34 Image filename: p4-6.png
  - Predicting segmentation...
Traceback (most recent call last):
  File "test.py", line 78, in <module>
    test_mas_rca(config)
  File "test.py", line 49, in test_mas_rca
    label, label_path, idxs = mas.predict_segmentation(
  File "/home/hanna/Downloads/seg_metrics/Multi-Atlas_RCA/models.py", line 44, in predict_segmentation
    idxs = self._atlas_selection(image_path)
  File "/home/hanna/Downloads/seg_metrics/Multi-Atlas_RCA/models.py", line 81, in _atlas_selection
    sitk.ReadImage(atlas_image) / 255.)))
  File "/home/hanna/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/SimpleITK/SimpleITK.py", line 4421, in __truediv__
    return DivideReal( self, float(other) )
  File "/home/hanna/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/SimpleITK/SimpleITK.py", line 27716, in DivideReal
    return _SimpleITK.DivideReal(*args)
RuntimeError: Exception thrown in SimpleITK DivideReal: /home/francesco/SimpleElastix/Code/Common/include/sitkMemberFunctionFactory.hxx:208:
sitk::ERROR: Pixel type: vector of 8-bit unsigned integer is not supported in 2D byN3itk6simple21DivideRealImageFilterE
`

@lucasmansilla

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.