Giter Club home page Giter Club logo

gen192's Introduction

gen192

Build codecov Code style: black L-GPL License pages

192 C-PAC pipeline generator.

Pipelines (4):

  • ABCD
  • CSS
  • fMRIPrep
  • RBC

Pipeline steps (4):

  • Structural
    • Denoising + Brain Extraction
    • Anatomical Registration
  • Functional
    • Despiking + BOLD Mask Generation
    • Co-registration

Connectivity Measures (2):

  • AFNI
  • Nilearn

Nuisance Regression (2):

  • ANTS
  • No nuisance regression
Options Info
4 Pipelines
× 3 Perturbations (other pipelines)
× 4 Pipeline steps
× 2 Connectivity measures
× 2 Nuisance regressions
= 192 Number of pipelines

Installation

Get the newest development version via:

pip install git+https://github.com/childmindresearch/gen192

Usage

gen192 --help

Links or References

gen192's People

Contributors

dependabot[bot] avatar kaitj avatar nx10 avatar pre-commit-ci[bot] avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

birajstha kaitj

gen192's Issues

Code review

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L23
I believe convention in python is to put the comment above the relevant line of code rather than below.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L38
Any reason why the type hint isn't just list[list[str]]? This way I wouldn't have to scroll up to figure out what's going on. Alternatively, if the formatting of these strings follows a specific format, consider a dataclass.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L66
Missing type hints.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L76
Missing output type hint.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L81
Why not do this entire thing inside a tempfile.TemporaryDirectory? That makes the cleanup a lot easier, safer, and allows you to remove the entire cd() function.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L89
Should this work on Windows? If yes, replace directory here and elsewhere with pathlib. If no, this is fine.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L149 raise an error; assertions can be removed if optimizations are requrested c.f. https://stackoverflow.com/questions/40182944/whats-the-difference-between-raise-try-and-assert

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L242
Could these for loops be replaced with itertools.product() or failing that, another itertools tool?

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L375
Consider replacing with logging module to allow the user to set the logging level.

https://github.com/cmi-dair/gen192/blob/f6684789d01eab277b63bd50e4639fb5f1dff0c4/src/gen192/cli.py#L327
The type of the input to all aslist() calls is known or could be enforced with pydanticdataclasses.dataclass, right? If yes, consider removing the aslist() function and simply replacing with list(...) here.

General comments:
I'd keep the dataclasses in a separate file and move a lot of the helper functions to a utils file.

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.