Coder Social home page Coder Social logo

nidmresults's Introduction

nidmresults

A Python library to read and write NIDM-Results packs.

specification: http://nidm.nidash.org/specs/nidm-results.html manuscript: https://dx.doi.org/10.1038/sdata.2016.102

You are free to copy, modify, and distribute nidmresults with attribution under the terms of the MIT license. See the LICENSE file for details.

Install

nidmresults is distributed with PyPI, to install the latest release you can use:

pip install nidmresults

To work with the current development version we recommend cloning this repository locally and then install using

python setup.py install

Example of usage

Examples are available in the examples folder.

Contributing

Thanks for your interest in contributing to nidmresults. All contributions are very welcome! If you experience difficulties using the library, please open an issue describing the problem. See the list of current issues.

nidmresults's People

Contributors

cmaumet avatar tommaullin avatar remi-gau avatar chrisgorgo avatar dependabot[bot] avatar mih avatar yarikoptic avatar

Stargazers

Leon Martin avatar santiago avatar Tal Yarkoni avatar PEP 8 Speaks avatar  avatar Yria  avatar mnarayan avatar

Watchers

 avatar Satrajit Ghosh avatar Jean-Baptiste Poline avatar James Cloos avatar David Keator avatar Rich Stoner avatar  avatar Smruti Padhy avatar Henry Jeremy Bockholt avatar Karl Helmer avatar Thomas Nichols avatar Tristan Glatard avatar  avatar  avatar incf-nidash avatar Adina Wagner avatar

nidmresults's Issues

Faster reading and testing

Reading is quite slow... is there anything we can do to have read faster. Maybe by updating the queries / checking which query if run when / relying on the JSON when available.

clean up roadmap

  • move testing to GHA
  • update to avoid any failing or flaky test
  • update packaging (setup.py + setuptools -> pyproject.toml + hatchling)
  • use pytest for testing and get coverage
  • enforce code style: black + flake8 + precommit
  • upgrade code to use more modern python features: https://github.com/asottile/pyupgrade
  • incorporate refactoring from sourcery: Remi-Gau#1

Modification of string cast in owl_reader.py

I would like to suggest a modification to owl_reader.py. Right now any modifications to the nidm-experiment owl or import files fails due to the string cast here. The files pass the Travis checking if the cast to string is removed. This was discussed awhile ago, but it was never changed. IIRC the reason for the cast was not clear at the time. @cmaumet is there any reason not to make this modification?

Some examples of code that could be replaced by nidmresults functions

After discussion at NIDM sprint we decided to implement easy to use functions for common NIDM Results queries. This should lower the access barrier for new developer. Those functions can live in the nidmresults package. They could immediately replace some sparql queries in NeuroVault and nidmviewer (maintained by @vsoch).

get_statmaps() https://github.com/NeuroVault/NeuroVault/blob/0ba7f42a11d703ee608317fe7f0c24fd62d48fc5/neurovault/apps/statmaps/nidm_results.py#L64
as well as https://github.com/vsoch/nidmviewer/blob/882f5201354135ff4dc6ec8739621a94341d0fef/nidmviewer/sparql.py#L43
(this could be split into more functions if that makes sense)

get_coordinates()
https://github.com/vsoch/nidmviewer/blob/882f5201354135ff4dc6ec8739621a94341d0fef/nidmviewer/sparql.py#L28

Inconsistent API

get_excursion_set_maps() returns a dictionary and get_statistic_maps() returns a list

Embed nidm-results.owl

nidm-results.owl (released versions) should be included in the nidmresults library so that we can look up labels and avoid dependency on nidm repository.

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.