This document will serve to organize current development work on nipy. It will include current sprint items, future feature ideas, and design discussions, etc...
Goal for Feb 27
Cleanup and document the Image and CoordinateMap classes. There have been various changed to the CoordinateMap classes lately, merge Jonathan’s branch, finish remaining changes, update docstrings and doctests. Write tutorials explaining these base classes.
Working prototype for interfacing with SPM.
Working prototype for registration visualization.
Goal for March 20
Review fff2.neuro code and prepare for sprint.
Tutorials are an excellent way to document and test the software. Some ideas for tutorials to write in our Sphinx documentation (in no specific order):
These should be moved to the nipy bug section on launchpad. Placed here until they can be input.
Remove path.py and replace datasource with numpy’s version. datasource and path.py cleanup should be done together as nipy’s datasource is one of the main users of path.py:
Rewrite weave code in algorithms/statistics/intrinsic_volumes.py as C extension.
Cleanup neuroimaging.testing directory. Possibly rename ‘testing’ to ‘tests’. Move utils.tests.data.__init__.py to tests and update import statements in all test modules.
image.save function should accept filename or file-like object. If I have an open file I would like to be able to pass that in also, instead of fp.name. Happens in test code a lot.
image._open function should accept Image objects in addition to ndarrays and filenames. Currently the save function has to call np.asarray(img) to get the data array out of the image and pass them to _open in order to create the output image.
Add dtype options when saving. When saving images it uses the native dtype for the system. Should be able to specify this. in the test_file_roundtrip, self.img is a uint8, but is saved to tmpfile as float64. Adding this would allow us to save images without the scaling being applied.
In image._open(url, ...), should we test if the “url” is a PyNiftiIO object already? This was in the tests from ‘old code’ and passed:
new = Image(self.img._data, self.img.grid)
img._data is a PyNIftiIO object. It works, but we should verify it’s harmless otherwise prevent it from happening.
Look at image.merge_image function. Is it still needed? Does it fit into the current api?
Automated test for modalities.fmri.pca, check for covariance diagonal structure, post pca.
FmriImageList.emptycopy() - Is there a better way to do this? Matthew proposed possibly implementing Gael’s dress/undress metadata example.
Verify documentation of the image generators. Create a simple example using them.
Use python 2.5 feature of being able to reset the generator?
Add test data where volumes contain intensity ramps. Slice with generator and test ramp values.
Implement fmriimagelist blueprint.
A central location to dump thoughts that could be shared by the developers and tracked easily.
Put ideas here for features nipy should have but are not part of our current development. These features will eventually be added to a weekly sprint log.