[Nipy-devel] neurospin script - plot_activations_simplepanel.py

Matthew Brett matthew.brett@gmail....
Sun Jan 17 11:19:34 CST 2010


Hi,

> I don't really mind removing stuffs for the sake of it, but i wrote this code
> exactly because i couldn't rely on other visualization code which were either
> too hard to install, not working, or simply too slow for my need. Note that
> this was before we discussed about the Interactive-usage pattern non-intent
> of nipy.

No - I think that's a misunderstanding - nipy is for interactive use,
Michael and I were discussing one-line vs two-line APIs.

> As that code relies on the now-banned short & concise pynifti API, i>

If you want to revisit the short and concise discussion please do,
with some code snippets, showing that the current code is indeed not
short or concise.  Or reply to the previous thread with some
substantial argument.

> moved it to neurospin's script/ in the hope that this ~80-line standalone
> tools would still be allowed there (actually, i was slightly pressured to
> commit it at all :-). As I think porting it to a new API would both risk to
> introduce bugs, and defeat the point of having a standalone, low-dep,
> executable tool,

Sorry, I must say, that's a bit annoying.  The code in that script is
absolutely unreadable, if anyone disagrees, then I encourage them to
have a look.  I would be astonished if there were no bugs in it,
because it's untestable as it is, and, being very hard to read, it is
very hard to maintain.  I tried to run it but got some output (from
the overlays) that didn't make sense, and quickly realized that it
would take me a long time to debug.  This is a shared code project, we
have to set ourselves the goal of writing code that the intelligent
user can understand reasonably easily, and the intelligent developer
can read and maintain.

By leaving that script in, you've introduced, within the nipy
codebase, a dependency that we don't currently have - and which is
already drifting out of maintenance.  It doesn't make sense to have a
script in nipy that is trying not to depend on nipy.

So, yes, please, either remove it, or I will spend half a day trying
to untangle the logic enough to do the port.  But, I'd rather not do
that, because it's not a pleasant task...

See you,

Matthew



More information about the Nipy-devel mailing list