Git Product home page Git Product logo

pyneval's Introduction

PyNeval

docs-badge

Introduction

PyNeval is a Python package for evaluating the qualities of neuron reconstructions in the SWC format. It outputs quality scores of one or more test models by comparing them to a gold standard model. The scores also depend on which metric is specified because PyNeval supports several metric options.

Here is the simplest command line interface to run PyNeval:

pyneval --test <test_swc_path> --gold <gold_swc_path> --metric <metric>

test_swc_path is the file path to a test model, which is often produced by an automatic reconstruction method, and gold_swc_path is the file path to the gold standard model, which is typically created by manual editing. metric is the name of a quality metric, which can be

  • length: Length metric for measuring the overlapping ratio between two models by matching line segments.
  • ssd: SSD metric for measuring the overlapping ratio between two models by matching resampled nodes.
  • diadem: DIADEM metric for measuring the amount of paths that contribute to topological similarity between two models.
  • cn: Critical node metric for measuring the topological similarity between two models by matching topologically critical nodes.

Installation

pip

pip install pyneval

conda

conda install pyneval -c csdllab -c conda-forge

source code

git clone https://github.com/bennieHan/pyNeval.git
cd PyNeval
python setup.py install

Example

Once PyNeval is installed successfully, you can test it with the demo data included in the source code.

pyneval --gold data/demo/gold.swc --test data/demo/test.swc --metric ssd

pyneval's People

Contributors

feifeiyum avatar hanzhaang avatar tingzhao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pyneval's Issues

Simplify metric option names

Rename metric options to make them less verbose. The changes are:

Old New
diadem_metric diadem
ssd_metric ssd
length_metric length
branch_metric cn

Add option of outputting details

The option can be:

--detail <output_folder>

  • If <output_folder> does not exist, the program should automatically create <output_folder>;
  • if <output_folder> does not exist, it should ask the user to confirm if the results should be written to the existing folder.
    -- If the user answers no, give the user further options: 1. quit the program; 2. proceeding without saving details; 3. input a new folder.

Add conda recipe

  • Add conda recipe to build pyneval into a conda package
  • Create a channel called csdl on anaconda to host the package

Note: use the conda-forge channel while building the package.

output results in json

If the argument of --output ends with .json, then automatically save results in the JSON format.

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.