Coder Social home page Coder Social logo

daniel-tojal / pacer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adhusch/pacer

0.0 1.0 0.0 4.55 MB

PaCER - Precise and Convenient Electrode Reconstruction for Deep Brain Stimulation

License: GNU Affero General Public License v3.0

Shell 0.10% MATLAB 99.90%

pacer's Introduction

PaCER
Precise and Convenient Electrode Reconstruction for DBS


   

Please note that PaCER is a research tool NOT intended for clinical use.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Copyright (C) 2016-2017 Andreas Husch, Centre Hospitalier de Luxembourg, National Department of Neurosurgery and University of Luxembourg, Luxembourg Centre for Systems Biomedicine.

Image of a PaCER electrode reconstruction at two different time points of resolving brain shift.

Background

The PaCER Toolbox is a MATLAB implementation of a robust method to fully automatically reconstruct deep brain stimulation trajectories from post operative CT imaging data. PaCER is able to fully preserving electrode bending (e.g. caused by brainshift). Further is able to detect individual contacts on high-resolution data. The PaCER toolbox is provided with means to easily visualize electrodes as well as imaging data within the MATLAB environment.

Getting Started

Requirements

The requirements to use PaCER are:

  • MATLAB, including the Image Processing Toolbox
  • post-operative CT image in nifti file format.

A CT slice-thickness <= 1 mm is recommended, however, PaCER will work on lower resolution data too by falling back to a less sophisticated contact detection method (yielding lower accuracy). Nifti input files are supported in compressed form (.nii.gz) as well as non-compressed (.nii).

Examples

The easiest way to learn about PaCER is to run the example files. We recommend to add the PaCER directory and all its subdirectories to your MATLAB path first. This can be archived by running the file SETUP_PACER.m in MATLAB (once). The examples include a call to SETUP_PACER.

The following examples require only a post op CT dataset - they should work out of the box for most CT scan protocols as long as the slice thickness is not toooo bad :-) Easy conversion from DICOM to NIFTI is possible dcm2nii which is included in MRIcron. Advanced example demonstrating further use-cases (e.g. visualisation of segmentations and atlas data, simple volume of tissue activated model etc.) can be found in the examples/advanced/ directory. However these examples require appropriate co-registered image modalities (e.g. atlases, segmentation). We are in the process to provide a full example dataset in the future.

  • EXAMPLE_1.m - Basic PaCER call and electrode plot. Start here!
    • EXAMPLE_1_1.m - Continues EXAMPLE_1 by adding an MPR view of the CT image and demonstrating some plot customisations

How to cite?

The PaCER algorithm is described in:

A. Husch, M. V. Petersen, P. Gemmar, J. Goncalves, F. Hertel: PaCER – A fully automated method for electrode trajectory and contact reconstruction in deep brain stimulation, NeuroImage: Clinical, Volume 17, 2018, Pages 80-89, Available online 6 October 2017, ISSN 2213-1582, https://doi.org/10.1016/j.nicl.2017.10.004., [Open access fulltext].

For people interested in even more technical details, the preprocessing pipeline is described in more details here:

A. Husch, P. Gemmar, J. Lohscheller, F. Bernard, F. Hertel: Assessment of Electrode Displacement and Deformation with Respect to Pre-Operative Planning in Deep Brain Stimulation. Bildverarbeitung für die Medizin 2015, Springer Berlin Heidelberg, 2015.[ORBilu repository with fulltext request form]

An example of using PaCER within an automatic image-registration pipeline for DBS assessment is described in:

A. Husch, M. V. Petersen, P. Gemmar, J. Goncalves, N. Sunde, F. Hertel: Post-operative deep brain stimulation assessment: Automatic data integration and report generation, Brain Stimulation, Available online 1 February 2018. [Open access fulltext]

ARTENOLIS (Automated Reproducibility and Testing Environment for Licensed Software) is a general-purpose and flexible infrastructure software application that implements continuous integration for open-source software with licensed dependencies. You may cite ARTENOLIS as:

L. Heirendt, S. Arreckx, C. Trefois, Y. Jarosz, M. Vyas, V. P. Satagopam, R. Schneider, I. Thiele, R. M. T. Fleming: ARTENOLIS: Automated Reproducibility and Testing Environment for Licensed Software, abs/1712.05236, 2017.

Please acknowledge the respective papers when using the algorithm in your work.

Do you need any help?

Feel free to open an issue at https://github.com/adhusch/PaCER or drop a note to mail (at) andreashusch.de

If you need help our have trouble processing local data you are invited to open a GitHub issue. Any feedback to further improve the performance on varing datasets is very welcome.

Acknowledgements

Software tools

PaCER is packaged with some free external software libraries for convenience. Please see the “toolboxes” folder and the respective LICENSE files for details. We feel grateful to the authors of this toolboxes and scripts:

Funding & infrastructure

This work was made possible by an Aide à la Formation Recherche (AFR) grant to Andreas Husch from the Luxembourg National Research Fund (FNR).

The Responsible and Reproducible Research (R3) of the LCSB BioCore is acknowledged for providing the ARTENOLIS infrastructure and technical expertise to ensure high quality of the present software.



           

pacer's People

Contributors

laurentheirendt avatar adhusch avatar

Watchers

Daniel Duarte Tojal 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.