octave-patch-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-patch-tracker] [patch #9853] (image) implement niftiread, niftiw


From: Hartmut
Subject: [Octave-patch-tracker] [patch #9853] (image) implement niftiread, niftiwrite, niftiinfo
Date: Sun, 20 Oct 2019 14:13:39 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0

Follow-up Comment #2, patch #9853 (project octave):

Thanks you for the intention to contribute code to the Octave image package.
You are very welcome as a first time contributor!

Those nifti-xxx functions were introduced to the Matlab image processing
toolbox with version R2017b. So in general it would be very nice to have them
in Octave as well.

I have personally never used a nifti file so far, nor am I an expert in
software development, including the libraries you mentioned. (So some of the
following questions might not sound very clever. I do know something about
image processing, though...)

Here are some questions that come to my  mind:

* Are all of the contributed files written by YOURSELF? And could you "donate"
them with a GPL compatible license? (I have seen an Apache license in
nii2jnii.m for example, is it GPL compatible? Or could you re-license it under
GPL?)

* Could you list the necessary LIBRARIES (toolboxes) that your code depends on
in more detail? I have already understood the following dependencies:
** JNIfTI toolbox
** ZMat toolbox (for dealing with compression?)
** JSONLab toolbox (for dealing with Json?)
** any more tolboxes or library necessary?

* Are you the author of all of the above toolboxes? Are those all available
under a GPL compatible license (I have seen GPLv3 at many places in the
mentioned toolboxes)

* The octave image toolbox is currently "self contained" in the sense that it
does not require to install any formal dependencies beforehand. So all code
that your new functions need from the mentioned toolboxes would probably also
need to be included into the Octave image toolbox. This is the reason behind
the next question:
* Would we need to include ALL CODE of the above toolboxes? 
** Or is some of the functionality already implemented in Octave and can be
used instead? (Octave can already deal with compressed files I think. Is this
functionality not good enough for your intended use?)
** Are some functions of those toolboxes NOT used by your nitfi functions and
could therefore be omitted from the inclusion into the Octave image package?

* Another idea: In the case that (a) also those libraries are your own code
and (b) they can be licensed with GPL and (c) they add functionality regarding
compession and/or json functionality to Octave that isn't there yes, it might
be worth discussing with "core Octave" about including these parts of your
code there. But in this case those libraries should probably mimic Matlab
compatible behavior (e.g. Matlab's jsondecode.m ...). This might be more than
you intended to do.

* In some toolboxes there seem to be pre-compiled functions (I have seen
zipmat.mex for exmaple). Are those files also available as C source code
(under GPL)? Are they coded in a way that Octave can compile them on its own?

* In general there is a coding style for "core Octave", regarding C-code and
m-code as well. It can be found here: 
** https://wiki.octave.org/Octave_style_guide
** https://wiki.octave.org/C%2B%2B_style_guide

Please regard my above questions as expression of my interest into your code.

Maybe someone with more knowledge about C-code and library inclusion policies
in core Octave could also leave some comments here? 

@Carne: Could you comment on this, maybe?

@Qianqian: If you don't get a response on this bug tracker during the next
weeks, it might be worht leaving a short note (mostly pointing to this bug
tracker issue) on the mailinglist: address@hidden .





    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/patch/?9853>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]