Diffusion Tensor Imaging

As I mentioned previously, I’ve seen more software recently in DTI, so I’ve added a new searchable category for programs that support that modality.  I’ve identified 10 of the listed programs that have a major or minor DTI emphasis, I’m sure there are more.

Adding an all-new category encouraged me to write another new database editing program, one I’ve been putting off.  I’ve always edited project attributes using a program I wrote that lets me select attributes of one program,  like the supported input file formats, or an emphasis on neuro imaging.  But that meant that to select a new attribute (in this case DTI) for multiple programs, I’d have to edit each program in turn.  This falls under my definition of Actual Work, ie, doing the same thing more than once (under certain circumstances doing something just once still qualifies).  Since I try to embody Larry Wall’s three great virtues of a programmer, viz. laziness, impatience and hubris, I try to avoid Actual Work and I write a program to make a computer do it for me (writing programs is more of a pastime than work).  So I wrote a little program that lets me select multiple attributes, and multiple projects to which to apply them, and in one click it’s done.  In this case I selected ‘DTI’ and ‘Neuro’ to apply to the ten programs, since it seems any program that handles DTI is going to be neurologically-oriented.

This program should prove useful as I move forward in my quest to develop a meaningful search system.  I have a new categorization scheme which has better definition than the one I’ve been using all along – for instance I have just one category called ‘Surface/Volume’, while I’d like for people to be able to separately search for volume renderers, or surface generators, or multiplanar reconstructions.  But implementing this in a production environment is difficult – I’d have to start with a new database, then make a modified copy of all the programs using the new database, test it all, and one day switch it over.  Actually that’d be the better way to do it.  Instead I think I’ll do it on the fly – define the new database categories, add the attributes to the project listings using the new program, and run them in parallel for a while while I grind through recategorizing nearly 300 programs.  Once that’s done I can drop the old categories.  It’s not as elegant but it’ll get the results out sooner.