[Neuroimaging] Nibabel API change - always read as float
satra at mit.edu
Sun Apr 23 09:22:59 EDT 2017
i believe get_unscaled does not scale if scale factor=1 and intercept=0 and
then the call is equivalent to get_data. however, if those values are
different from (1, 0), then get_unscaled differs from get_data.
On Sat, Apr 22, 2017 at 10:15 PM, Ariel Rokem <arokem at gmail.com> wrote:
> On Tue, Apr 18, 2017 at 8:01 AM, Matthew Brett <matthew.brett at gmail.com>
>> On Wed, Jul 22, 2015 at 3:53 PM, Satrajit Ghosh <satra at mit.edu> wrote:
>> > hi matthew,
>> >> I'm not sure what you mean by 'did not interpret this' unless you are
>> >> agreeing with me that the niftiio library gives no clues as what the
>> >> intention for the in-memory type was. If anything I think that
>> >> supports my reading that the authors had not considered the
>> >> interpretation of "scl_slope != 0 -> in-memory float".
>> > i simply meant they left any interpretation of how to scale or change of
>> > in-memory data type to the end developer.
>> >> I can surely attach the raw scalefactors to the array proxy (dataobj),
>> > that would be great
>> >> but I think it's a terrible idea to use the scl_slope == 0 as an
>> >> indication for in-memory type, because it's not a convention that (as
>> >> far as I know) anyone else uses,
>> > all the examples of the code bases i provided in fact leave the
>> > type to be the same as the native dtype for scalefactors (0, X) and (1,
>> > i agree, that this is an implementation of the standard as interpreted
>> > those developers, similar to present nibabel. i do agree that nifti
>> > had nothing to say about such an interpretation.
>> Following up on this one, much later - I have a new proposal, that I
>> have written up here:
>> Shortest possible summary:
>> * add "get_fdata" method to images, returning floating point data;
>> * deprecate "get_data" method in one year;
>> * raise error for "get_data" method in three years.
> Just to clarify: after the removal of "get_data", what would a user need
> to do to produce the current behavior of a `get_data()` call?
> Something like this was mentioned somewhere along this thread:
> data = img.dataobj.get_unscaled()
> Is that it?
> This has the advantage that older code using nibabel will not silently
>> return a different result, but will error, with an informative
>> message, for the foreseeable future.
>> Any thoughts on this version?
>> Neuroimaging mailing list
>> Neuroimaging at python.org
> Neuroimaging mailing list
> Neuroimaging at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Neuroimaging