Git Product home page Git Product logo

mitfat's Introduction

"There is a great satisfaction in building good tools for other people to use", Freeman Dyson.

  • ๐Ÿ‘‹ Hi, Iโ€™m Vahid Samadi Bokharaie. I have a B.Sc. and M.Sc. in Control Engineering and a PhD in mathematics and a neuroscientist since 2016.
  • ๐Ÿ‘€ I have a background in Engineering and Mathematics and these days Iโ€™m focusing on systems neuroscince. You can check my personal website for more info: www.vahid-sb.com.
  • ๐Ÿ’ž๏ธ Iโ€™m alwys interested in collaborating with people who are passionate about neuroscience. I have experimental data and many ideas for cool projects, but not enough time to get into most of them myself. So, reach out if you want to collaborate.
  • ๐Ÿ“ซ How to reach me? Check www.vahid-sb.com and leave a message.

mitfat's People

Contributors

arokem avatar vahid-sb avatar

Watchers

 avatar  avatar

Forkers

arokem

mitfat's Issues

Package documentation: User examples

I was reviewing the new user documentation, and I'm having some trouble with sections 3.1 and 3.2 (in "Basics").

I assume that the info_file in the first 3.1 code block corresponds to sample_config_file.txt. But if I try to execute:

list_of_datasets = read_data(info_file)

I get the following error:

Config file: sample_config_file.txt
Current directory: /home/emdupre
Source folder you have given me:
 /home/emdupre/datasets
An exception has occurred, use %tb to see the full traceback.

SystemExit: Source folder DOES NOT exist! :/

I imagine the recommended path forward would be downloading tests.zip and placing it in the datasets folder, but it would be helpful if the documentation was explicit about this. Pending #1, I imagine even be inferred from the package directory, which would definitely help to quickly get new users running on sample data !

Alternatively, just reorganizing the documentation to explain the config file and which values should be changed before loading the data would be helpful for orienting new users.

Software paper: statement of need

Thank you for carefully considering how this software can help the fMRI research community ! I had a few comments on the statement of need that I think will help better situate this work.

First, on how it compares to other packages: I'm not sure that other software projects having more "bells and whistles" is an appropriate comparison point. Considering only Python neuroimaging analysis tools, fitlins, niworkflows, and NiBetaSeries are all analysis packages focussing on very specific points of the (pre-) processing workflow. Similarly, even larger packages such as nilearn can quickly orient new users through well-considered documentation.
Of course more could always be done, but I would encourage you to avoiding this positioning -- to my mind it's not a compelling argument for the need for MiTfAT.

Instead, I think it would make sense to focus specifically on those analyses that can be accomplished with MiTfAT that cannot be accomplished with other software. In fact, I would position MiTfAT specifically as a package for fMRI with contrast agents. It seems that the majority of examples focus on this, and it is a use case that remains relatively unknown in most of the major Python analysis packages ! In line with this, I might spend more time explaining fMRI with contrast agents in the Summary, and then in the statement of need you can note that other packages do not consider this use case. This would also help to better differentiate this work from nilearn, with which it otherwise shares many similarities.

On references: I would encourage you to directly cite nilearn since you discuss it in text. It would also be helpful to include references on fMRI with contrast agents to orient the reader.

Another minor point: In the software statement of need, hierarchical clustering is described as a multi-stage process that first removes low SNR voxels before clustering. But hierarchical clustering is more commonly used to refer to clustering algorithms such as Ward or hierarchical k-means. Because this paragraph is potentially confusing to readers, I would encourage you to remove or refocus it.

Package documentation: Downloading and running MiTfAT

Hi ! Thanks for writing this package and for submitting it to JOSS !

I tried to install MiTfAT and execute the initial example given in your documentation. Specifically, in a new conda environment, I ran pip install mitfat which succeeded.

Launching a new python terminal, I ran:

import mitfat.

Note that

import `MiTfAT`

as suggested in the documentation, fails. I then ran:

from mitfat.file_io import read_data
import pkg_resources

info_file = pkg_resources.resource_filename('mitfat', 'sample_info_file.txt')
DATA_PATH = pkg_resources.resource_filename('mitfat', 'datasets')
list_datasets = read_data(info_file)

which also fails with the following error.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/emdupre/miniconda3/envs/MiTfAT/lib/python3.6/site-packages/mitfat/file_io.py", line 237, in read_data
    first_trial_time, trial_length = main_get_data(info_file_name)
  File "/home/emdupre/miniconda3/envs/MiTfAT/lib/python3.6/site-packages/mitfat/file_io.py", line 690, in main_get_data
    time_step = read_info_file(info_file_name)
  File "/home/emdupre/miniconda3/envs/MiTfAT/lib/python3.6/site-packages/mitfat/file_io.py", line 412, in read_info_file
    raise Exception('Where is the info file???')

I've confirmed in my file system that these files are not being downloaded with the library, likely because the setup.py script (specifically, here) suggests that these files are at the top level when they should be in the tests sub-directory.

Correctly packaging these files and updating the documentation appropriately would help in making sure this software is accessible !

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.