Giter VIP home page Giter VIP logo

platipy's Introduction

PlatiPy (Processing Library and Analysis Toolkit for Medical Imaging in Python)

This library contains tools and scripts used for image processing and analysis of medical images. The code makes use of ITK and VTK and is written in Python. Jupyter notebooks are provided where possible, mainly for guidance on getting started with using the tools.

Getting Started

Requirements

  • Python 3.6 or greater
  • See requirements.txt for required Python packages

Contributing

Git

Create a branch off of devel while you make your changes or implement your new tool. Once complete, head to GitHub to create a pull request to merge your changes into the main development branch (devel).

Style Guide

Python code written in this repository should conform to PEP 8 Style Guide for Python. You may like to use black to ensure that your code conforms to PEP 8 standards.

Structure

This toolbox is broken up into separate modules. Each module contains several tools, scripts or applications. The following structure should be observed:

  • module/
    • data/: Directory containing sample data to be used by the Jupyter notebooks and/or test cases of tools within module
    • tool/
      • *.py: One or more Python scripts providing some functionality
      • README.md: Contains description of tool, authors, etc...
      • Sample.ipynb: Jupyter notebook demonstrating the basics of using the tool
    • tests/: Directory containing test scripts to be run by pytest

Providing command line functionality with click

Where possible, the tools and scripts within this toolbox should provide a way to run them from the command line. A simple Python library to provide this functionality is click. You simply need to annotate the functions you want to have accessible from the command line. See the official click documentation for an introduction to using click.

Writing unit tests for pytest

Automated unit tests are important for code bases to which various authors are contributing, to ensure that their changes don't make any unintended breaking changes to other parts of the code.

This toolbox uses pytest as the testing framework. See the official pytest documentation for an introduction to writing tests with pytest.

Before you submit a pull request, make sure all the tests are passing by running the command:

pytest

from the root directory of the toolbox.

Authors

platipy's People

Contributors

pchlap avatar rnfinnegan 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.