Fwd: [Nipy-devel] attributes vs. traits

Karl Young Karl.Young at ucsf.edu
Mon May 22 16:13:57 CDT 2006


>
>     in my opinion, our project needs more focus on the science. for
>     instance, i would like us to spend more time focusing on prototyping
>     things like "ts_diagnostics" that i hacked out at the last
>     mini-sprint.
>
>
> definitely agreed.  i think think the reason that's not happening is 
> that the code is difficult and not self-explanatory.
> that's why i've been spending most of my effort on cleaning and 
> simplification.  i'm
> looking at it as an investment that will pay off by enabling other 
> developers to jump in
> and work on the science without having to tear their hair out 
> comprehending the
> core libraries.  (or maybe that's just me :)
>
Sorry to not weigh in on the traits/attributes issue but I just don't 
have the knowledge to contribute anything useful (though I certainly am 
acquiring some as a result of the discussion !). But I couldn't help 
responding to this exchange. I completely agree with both points; NiPy 
ought to be about the science and Jonathan has already provided some 
nice stuff re. tools but Brian's also right in that I don't think the 
average neuroimager can currently just check out the code and either 
contribute a sub-package or start analyzing data as it stands. I think 
we really do first need some basic discussions and decisions, at least 
for morons like me, about the basic architecture of NiPy. I.e. details 
like traits/attributes are important but so are basic structure 
discussions. E.g. do we need to set up a basic image processing utility 
area where we'd dump some e.g. new smoothing algorithm or should we just 
put those in some sub-package utility area - if so how do we find what's 
available - what's the suggested procedure for extending existing 
classes,..., re. interface issues should we all try to inherit from some 
NiPy wx mother widget or go off and do our own thing per sub-package re. 
It seems to me that to make it eventually easy for scientists to use and 
contribute to NiPy somebody has to think about this stuff early on and 
it's probably good that someone (like Brian) with some software 
engineering savvy be in on it (hence Jarod's suggestion re. trying to 
hire a code architect - which I think is a good one so that scientists 
can worry about science and not about whether the package is designed in 
a way that makes it easy for other people to use). Despite being the 
greatest idea since sliced bread (IMHO) NiPy probably won't serve as 
much of a collaborative tool if it turns into a hodge podge of great but 
hard to use/find algorithms. Sorry for the hot air but I wouldn't mind a 
few more discussions about overall structural issues if anyone is so 
inclined; currently I'm happy to just play around with the code but 
before I would try to do something like adding some nonlinear 
registration code a little better road map would be handy (e.g. where, 
besides docstrings, could I drop in the info. that that functionality 
has been added, and where people would need to look to 
improve/extended/ignore it).    

-- 

Karl Young
Center for Imaging of Neurodegenerative Diseases, UCSF          
VA Medical Center (114M)              Phone:  (415) 221-4810 x3114  lab        
4150 Clement Street                   FAX:    (415) 668-2864
San Francisco, CA 94121               Email:  karl young at ucsf edu




More information about the Nipy-devel mailing list