I got involved with Octave on the Winter of 2010, at the end of my first year as PhD student. My project involved using a Matlab piece of code written by a collaborator but I refused to use it, I wanted free software. So I convinced the collaborators to release it under GPL and ported it to Octave (released as frapinator, but I really should go back and write it properly).
Since then, I have contributed to Octave many times, became maintainer of the Octave Forge project and its image package. While I have no formal education in programming or computer science, it was the freedom of Octave and its community that allowed me to learn so much.
Octave to do list
You can add stuff to my todo list (I may however move it back to your todo list on your userpage). Don't forget to sign each item with ~~~~
Bugs
- #42115 - image package: imadjust output differs from Matlab
- #43908 - Some OF packages won't install with 64-bit indexing Octave
- #44095 - readline configuration - tab autocompletion of paths
- #45088 - image package: rangefilt requires domain and image to have equa number of dimensions
- #45333 - image package: grayhresh fails if input doesn't have different values
- #45367 - addParameter and partial matching for inputParser
- #45369 - pkg build leads to duplication of PKG_ADD and PKG_DEL files
- #45568 - imfilter incompatible to MATLAB for even filter width
- #45877 - mahalanobis is wrong (and probably belongs to the statistics package)
- #46011 - Can't warn of automatic broadcasting without triggering bug #36743
- #46065 - conflicting declarations of max_align_t since gnulib update
- #46099 - image package: edge(I,'canny') gives very bad quality results
- #46124 - image package: bwfill should use 4-connectivity as default
- #46160 - image package: normxcorr2 returns complex values sometimes
- #46200 - octave automatically converts java strings into char arrays
Patches
- #8709 - fixes to color conversion functions (mainly rgb2ntsc and ntsc2rgb)
- #8713 - image package: new color conversion functions: rgb2lab etc.
wiki to do list
octave code to write
- make unimplemented check for packages as well
- rewrite inputParser using classdef
- implement Template:Codeline:@inputParser/StructExpand property on general package
- implement nlinfit as wrapper to leasqr (using inputParser)
- make test and demo deal with tests and demos in .cc packages
- I don't like the first option. It's ugly and further pollutes the user namespace. And even if we have some Makefile that copies the .cc file at pkg install time, users won't know they have to make the call to test and demo differently. I guess demo and test functions would have to be modifed for that. I say just place the demos and tests on the .cc file. Later we can change pkg to copy the .cc file, and then change demo and test to look for those files if the function is .oct file. Tests are mainly used in development so users won't need them. Demos... well in the case of ellipj, it has not been working for a very long time so my guess is that people haven't been using it that much. What do you think?
- replacement for morphology toolbox
- port omero toolbox
- use post_install to move oct into private directory?
octave-forge to do
- finish zenity package
- for scale see https://savannah.gnu.org/bugs/?33330
- get hough transform function in image package compatible
- look into [SIP] and [sivp]
- from Perl
- File::Temp
- check for revision numbers
- Getopt::Long
- port ReadImageJROI
- make compatible normxcorr2: [Jordi metioned this paper] and
- fix on optim package
- move test scripts into function test blocks
- move example scripts into demo blocks
- default __spatial_filtering S to zeros of same dimension as DOMAIN
- implement im2java2d
- implement imclearborder
- port FIESTA
- update gtksourceview octave lang file
- make gtksourceview highlight octave help text as texinfo
- make gtksourceview highlight test and demo as octave and not comment