[Neuroimaging] Looking for advice regarding releasing some analysis software

Blaise Frederick blaise.frederick at gmail.com
Thu Jun 16 10:23:34 EDT 2016


Thank you!  That’s exactly the kind of thing I was looking for…

B

> On Jun 16, 2016, at 10:20 AM, Ariel Rokem <arokem at gmail.com> wrote:
> 
> Hi Blaise, 
> 
> On Thu, Jun 16, 2016 at 6:44 AM, Frederick, Blaise B. <bbfrederick at mclean.harvard.edu <mailto:bbfrederick at mclean.harvard.edu>> wrote:
> Hi all,
> 
> For the last few years my lab has been doing time delay analysis on fMRI and concurrent fMRI/NIRS data, and I’ve written a number of python tools for performing the analysis, and they’ve been refined for several years at this point, and I think they could be generally useful to people, so I’m looking to release the software.  I’m fairly new at this, and I’ve found a bunch of recommendations on how to do this, some of which are contradictory.  I’d appreciate any help I could get on this.
> 
> What I’ve done so far:
> 1) Chosen a license (Apache 2, based on a lot of reading and some conversations)
> 2) Put the core programs up on github (https://github.com/bbfrederick/delaytools <https://github.com/bbfrederick/delaytools>)
> 3) Tried to put together rudimentary documentation and installation directions.
> 
> As things exist now, if you install the prerequisites, download the code, and add the main directory to your path, you should be able to run the tools, which is a fine start, but there seems to be a lot more to installation than that (automatically installing dependancies and all that) that I’m unable to figure out. I’d appreciate any feedback on this.  I’m a little mystified by the vagaries of constructing a setup.py file, and what constitutes a ‘package’ and a ‘module’.
> 
> You might find this template project useful: https://github.com/uwescience/shablona <https://github.com/uwescience/shablona> 
> 
> It has examples for some of these things (including testing and documentation)
>  
> Some of the questions I have:
> 1) In addition to the main program, I have scads of command line utilities that make preparing and interpreting the data easier - do I just put them all in the top level directory, or in a bin directory?
> 
> You can put these in a bin directory and install them using the `scripts` kwarg to the `setup` function. Shablona doesn't have that, but here's how it happens on Dipy: https://github.com/nipy/dipy/blob/master/setup.py#L216 <https://github.com/nipy/dipy/blob/master/setup.py#L216> 
>  
> 2) The dependancies for the majority of the tools are very simple (numpy, scipy, scikits-learn, matplotlib, nibabel), but there’s a kind of useful gui tool that requires pyqt4 and pyqtgraph - pyqt does not seem to be installable with pip, so I’m not sure how to handle that (installing it all with anaconda is easy though). How should I handle this?
> 
> I would handle that as an optional dependency, that only gets imported when it's needed. Another Dipy story: we use VTK in some visualizations, but this is an optional dependency. As of recently, we try to raise an informative error when the import is triggered in the absence of VTK. Something like:"you are trying to use a feature that requires pyqt and pyqtgraph, for instructions on installing these see https:// <https://github.com/bbfrederick/delaytools>bbfrederick <https://github.com/bbfrederick/delaytools>.github.io/delaytools <https://github.com/bbfrederick/delaytools>/documentation/installtion/optional/install.html" would be helpful, I think.
> 
> 3) What’s the best way to publicize this?  This won’t be useful if nobody can find it.
> 
> Announcing your releases to this list (and other lists where potential users hang out) is a good idea. Presenting it at conferences also helps spread the word. Another idea: you can write a paper about your software, so that people can make reference to your software when using it (see recent conversation about that here:https://mail.python.org/pipermail/neuroimaging/2016-April/000875.html <https://mail.python.org/pipermail/neuroimaging/2016-April/000875.html>). 
>  
> I hope that all helps and I am sure others will chime in with their ideas/opinions, 
> 
> Ariel
> 
> 
> Thanks,
> Blaise
> 
> --------------
> Blaise Frederick
> Associate Professor of Psychiatry/Biophysicist
> Harvard Medical School/McLean Hospital
> bbfrederick at mclean.harvard.edu <mailto:bbfrederick at mclean.harvard.edu>
> http://www.nirs-fmri.net <http://www.nirs-fmri.net/>
> 
> 
> 
> 
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the e-mail
> contains patient information, please contact the Partners Compliance HelpLine at
> http://www.partners.org/complianceline <http://www.partners.org/complianceline> . If the e-mail was sent to you in error
> but does not contain patient information, please contact the sender and properly
> dispose of the e-mail.
> 
> 
> _______________________________________________
> Neuroimaging mailing list
> Neuroimaging at python.org <mailto:Neuroimaging at python.org>
> https://mail.python.org/mailman/listinfo/neuroimaging <https://mail.python.org/mailman/listinfo/neuroimaging>
> 
> 
> _______________________________________________
> Neuroimaging mailing list
> Neuroimaging at python.org
> https://mail.python.org/mailman/listinfo/neuroimaging

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/neuroimaging/attachments/20160616/a367a089/attachment.html>


More information about the Neuroimaging mailing list