Coder Social home page Coder Social logo

lasc's Introduction

Left Atrial Segmentation Challenge 2013

Authors: Catalina Tobon-Gomez ([email protected]) and Arjan Geers ([email protected])

About

This repository is associated with the Left Atrial Segmentation Challenge 2013 (LASC'13). LASC'13 was part of the STACOM'13 workshop, held in conjunction with MICCAI'13. Seven international research groups, comprising 11 algorithms, participated in the challenge.

For a detailed report, please refer to:

Tobon-Gomez C, Geers AJ, Peters, J, Weese J, Pinto K, Karim R, Ammar M, Daoudi A, Margeta J, Sandoval Z, Stender B, Zheng Y, Zuluaga, MA, Betancur J, Ayache N, Chikh MA, Dillenseger J-L, Kelm BM, Mahmoudi S, Ourselin S, Schlaefer A, Schaeffter T, Razavi R, Rhode KS. Benchmark for Algorithms Segmenting the Left Atrium From 3D CT and MRI Datasets. IEEE Transactions on Medical Imaging, 34(7):1460โ€“1473, 2015.

The challenge is also featured on Cardiac Atlas Project.

The Python scripts in this repository take as input a segmentation and output the two evaluation metrics described in the paper.

The data and code of the challenge have been made publicly available to serve as a benchmark for left atrial segmentation algorithms.

Feel free to contact us with any questions.

Abbreviations

  • CT: Computed tomography
  • GT: Ground truth
  • MRI: Magnetic resonance imaging
  • LA: Left atrium
  • LASC'13: Left Atrial Segmentation Challenge 2013
  • PV: Pulmonary vein

Data

The benchmark consists of 30 CT and 30 MRI datasets. Per modality, 10 datasets are for training of segmentation algorithms and 20 datasets are for testing.

The MRI datasets are publicly available on Figshare:

The CT datasets have restricted access. Fill in this form and email to [email protected].

Sample data from an arbitrary modality/institute/case were included in this repository to be able to run the scripts.

Instructions

Run the code

Clone the repository and cd into it:

$ git clone https://github.com/catactg/lasc
$ cd lasc

Run the following to generate csv-files with metric values:

$ python code/lasc_benchmark.py data/mri/testing/b002 data/mri/results/UCL_1C/b002/mask.mhd 0

More details

The script lasc_benchmark.py calls functions in lasc_benchmark_tools.py to extract a surface mesh from the binary mask generated by the participant's segmentation algorithm, run the standardisation, and compute the evaluation metrics.

The benchmark assumes the binary mask to be in mhd + raw format with "inside LA" = 1 and "outside LA" = 0. It also assumes the binary mask and original image to be registered.

Usage of lasc_benchmark.py:

$ python lasc_benchmark.py <path_groundtruth> <segmentation_file> <1|0>

with input arguments:

  • <path_groundtruth>: Path to the testing dataset with the GT
  • <segmentation_file>: Path to the binary mask generated by the segmentation algorithm
  • <1|0>: Flag to enable visualisation of the segmentation alongside the GT (both standardised)

Folder structure

The data hosted on the Cardiac Atlas Project and, in part, the sample data in this repository are structured as described below.

Training dataset

Training datasets are located in data/<modality>/training/a<casenumber> (e.g. data/mri/training/a001/). Included are the image and GT segmentation.

File name Description
gt_binary.mhd + gt_binary.raw Binary image representation of GT
image.mhd + image.raw Image for training

Testing dataset

Testing datasets are located in data/<modality>/testing/b<casenumber> (e.g. data/mri/testing/b002/). Included are the GT segmentation and helper files for standardisation.

File name Description
clippointid1.csv PointID of clvein1.vtp at which to clip PV1
clippointid2.csv PointID of clvein2.vtp at which to clip PV2
clippointid3.csv PointID of clvein3.vtp at which to clip PV3
clippointid4.csv PointID of clvein4.vtp at which to clip PV4
clvein1.vtp Centerline of PV1
clvein2.vtp Centerline of PV2
clvein3.vtp Centerline of PV3
clvein4.vtp Centerline of PV4
gt_noclip_mesh.vtp Surface mesh extracted from gt_noclip.mhd
gt_noclip.mhd + gt_noclip.zraw Labeled image representation of GT
gt_std_mesh.vtp Surface mesh after standardisation
gt_std.mhd + gt_std.zraw Image representation of GT with labels copied from gt_std_mesh.vtp
image.mhd + image.raw Image to segment
mitralplane.csv Point, normal, and insideout flag describing mitral plane location

Results

Results are located in data/<modality>/results/<algorithm>/b<casenumber> (e.g. data/mri/results/UCL_1C/b002/). Included are the binary mask provided by the participant and the output files of lasc_benchmark.py.

File name Description
dm_body.csv Dice metric of the LA body
dm_pvs.csv Dice metric of the PVs
mask.mhd + mask.raw Binary mask provided by segmentation algorithm
mesh.vtp Surface mesh extracted from mask.mhd using marching cubes
s2s_body.csv Surface-to-surface metric of the LA body
s2s_pvs.csv Surface-to-surface metric of the PVs
std_gt2seg.vtp Surface mesh with distance from GT to segmentation (as pointdata array)
std_mesh.vtp Surface mesh after standardisation
std_seg2gt.vtp Surface mesh with distance from segmentation to GT (as pointdata array)
std.mhd + std.zraw Image representation of segmentation with labels copied from std_mesh.vtp

Dependencies

The scripts in this repository were successfully run with:

An easy way of installing these dependencies is to install Anaconda. Make sure to add VTK with conda install vtk.

License

BSD 2-Clause

lasc's People

Contributors

ajgeers 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.