/usr/share/doc/python-nifti/TODO is in python-nifti 0.20100607.1-4.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | * Enhance pynifti_pst to do percent signalchange relative to a given volume.
* Implement support for slice timing related NIfTI information.
* Implement support for intent codes.
* Valgrind reports a memory leak. It seems to be releated to some
string operation on the header data, as it also happens when image
data from ndarrays is used and never saved to file or inserted into the
Nifti image struct. However, so far I do not yet fully understand it.
Yarik's wishes sorted - please remove or fulfill:
-------------------------------------------------
- as it is now: getHeader returns a header dictionary which is not
binded to the object. so direct manipulation to it such as
inNifti.header['bla']='bleh'
are lost and the only way to introduce a change to the field seems
to operate as
h = inNifti.header
h['bla'] = 'bleh'
inNifti.header = h
which is at least should be documented in capital letters! ;-)
Proposed solution:
introduce private __header, which would result in singleton behavior
of getHeader -- on first call it does all the querying from
self.__nimg and nhdr2dict,
but on consequtive calls - simply return __header.
may be nhdr (result of _nim2nhdr) should be also stored as __nhdr
to avoid consequtive invocations of a costly function
Then updateHeader should
* allow not specified hdrdict (default to None)
* not query __nimg if __header/__nhdr is not None
and simply use nhdr=self.__nhdr
* if hdrdict=None (ie not specified) make a copy
hdrdict == self.__header.copy(), so del commands
dont' do evil things, and proceed further ;-)
save method also should invoke updateHeader I guess so that if
there were any changes to the header dictionary, they get saved..
Michael's comment:
------------------
Although this would be nice to have, I really think it could be the
source of some ugly bugs. Maintaining a separate copy of the header means
that PyNifit has to keep track of all possible dependencies between the
image properties by itself, instead of relying on the nifticlib to do.
this. I'd prefer to implement as much accessor methods or properties as
necessary to make calls to the header property superflous.
BTW: The same behavior is true for the qform and sform properties
(including their inverse versions).
Possibly wrong/incorrect/wontfix suggestions:
---------------------------------------------
- [gs]etVoxDims should work with all dimensions up to 7 as they are
defined in nifti1_io.h
hanke: maybe, but that would mix different units, which I'd rather not do.
|