Latest revision |
Your text |
Line 1: |
Line 1: |
| | |
|
| |
|
| == ToDo == | | == ToDo == |
|
| |
|
| === Core === | | === Core === |
| * <strike>fix imread bug with opaque images, see https://savannah.gnu.org/bugs/?func=detailitem&item_id=36820</strike> Thanks Carne | | * fix imread bug with opaque images, see https://savannah.gnu.org/bugs/?func=detailitem&item_id=36820 |
| * <strike>FFTW multithreaded</strike> hg.savannah.gnu.org/hgweb/octave/rev/bde7731b2b83
| | * remove removed but still referenced function in "seealso" blocks |
| * <strike>remove removed but still referenced function in "seealso" blocks</strike> | | * FFTW multithreaded https://savannah.gnu.org/patch/?7922 |
| | |
| * Add swisdom (single prec.) to /libinterp/dldfcn/fftw.cc documentation | |
| * linguist-qt4: octave-src/libgui$ "lupdate -recursive -no-obsolete -locations relative src qterminal graphics -ts languages/*ts"
| |
| | |
| === GUI ===
| |
| <strike>When opening and closing the GUI HDF5: infinite loop closing library</strike> [http://hg.savannah.gnu.org/hgweb/octave/rev/9c03b071fd7b]
| |
| | |
| No icons in qt4 GUI?
| |
| gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true
| |
| gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true
| |
|
| |
|
| === Forge === | | === Forge === |
|
| |
| ==== signal or fltk plotting? ====
| |
| pkg load signal
| |
| t=0:1/4e4:12;
| |
| y=chirp(t,100,5,18000);
| |
| graphics_toolkit fltk
| |
| specgram(y)
| |
|
| |
| -> r300: Implementation error: Render targets are too big in r300_set_framebuffer_state, refusing to bind framebuffer state!
| |
|
| |
| ==== video ====
| |
| <strike>fix build, see http://octave.1599824.n4.nabble.com/quot-package-video-is-empty-quot-td4656346.html</strike>
| |
|
| |
| ==== signal ====
| |
| * findpeaks.m, print error if data is not a column vector (error: vertical dimensions mismatch (1x10000 vs 1x1)
| |
|
| |
|
| ==== image ==== | | ==== image ==== |
|
| |
|
| * implement [http://en.wikipedia.org/wiki/SURF SURF], integralImage is cumsum(cumsum(a,1),2) | | * implement [http://en.wikipedia.org/wiki/SURF SURF], integralImage is cumsum(cumsum(a,1),2) |
| * implement impixelinfo http://stackoverflow.com/questions/23706937/displaying-pixel-values-of-an-image-in-octave
| |
| * implement getpixelposition, axes2pix, pix2map, map2pix
| |
|
| |
|
| ===== corner/cornermetric, harris ===== | | ===== corner/cornermetric, harris ===== |
Line 44: |
Line 18: |
| First post on mailing list in 12.01.2013 http://octave.1599824.n4.nabble.com/corner-cornermetric-equivalent-in-octave-td4648802.html | | First post on mailing list in 12.01.2013 http://octave.1599824.n4.nabble.com/corner-cornermetric-equivalent-in-octave-td4648802.html |
|
| |
|
| == Snippets == | | == brainstorming == |
| === chain matrix multiplication ===
| | * something like autobuilder for octave would be cool. Jordi mentioned http://hydra.nixos.org/jobset/gnu/octave-default |
| a=[1 2; 3 4];
| | * perhaps http://www.phoronix-test-suite.com/? |
| b=[4 2; 8 1];
| |
| c=[2 3; 1 -1];
| |
| m=cat(3,a,b,c);
| |
| s=cell(3,1);
| |
| s{1}=a;s{2}=b; s{3}=c;
| |
| a*b*c
| |
| s{1}*s{2}*s{3}
| |
| mtimes(num2cell(m,[1,2]){:})
| |
| mtimes(s{:})
| |
| | |
| === commands from which I regularly doesn't find the name ===
| |
| * octave_config_info ()
| |
| * merge (C's (a)? b: c); syntax
| |
| | |
| === libgraphicsmagick++3 quantum-depth ===
| |
| | |
| in debian wheezy
| |
| | |
| sudo apt-get build-dep libgraphicsmagick++3
| |
| apt-get source libgraphicsmagick++3
| |
| | |
| edit debian/rules
| |
| --with-quantum-depth=16 \
| |
| works without problems
| |
| --with-quantum-depth=32 \
| |
| shows one error:
| |
| UYVY format ...
| |
| mean-error=0.0209018218321559, maximum-error=0.816509137487552
| |
| not ok 77
| |
| Failed 1/77 subtests
| |
| | |
| debuild -i -us -uc -b
| |
| dpkg -i ....
| |
| | |
| == Tracking octave bugs with hg bisect==
| |
| I had a [http://savannah.gnu.org/bugs/?39652 strange problem] when loading gzip compressed ascii files in octave. It failed dependent on the integer values. After some stripping I made a minimalistic test script (min_testcase_fails.m) which always fails in a current dev (88616c872933):
| |
| fn="file2.txt"
| |
| fid = fopen (fn,"w");
| |
| fprintf(fid, "%i %i %i %i\n",639, 25, 160, 978160);
| |
| fprintf(fid, "%i %i %i %i\n",687, 25, 171, 978160);
| |
| fprintf(fid, "%i %i %i %i\n",663, 31, 173, 978161);
| |
| fprintf(fid, "%i %i %i %i\n",663, 15, 154, 978161);
| |
| fprintf(fid, "%i %i %i %i\n",655, 21, 151, 978161);
| |
| fclose(fid);
| |
| ## gzip it!
| |
| fn_gz=strcat(fn, ".gz");
| |
| cmd=cstrcat("gzip ",fn," -c > ",fn_gz)
| |
| system(cmd);
| |
| c=load("file2.txt.gz") #this fails in newer versions
| |
| | |
| When run:
| |
| $ octave -q min_testcase_fails.m
| |
| fn = file2.txt
| |
| cmd = gzip file2.txt -c > file2.txt.gz
| |
| error: value on right hand side of assignment is undefined
| |
| error: called from:
| |
| error: /home/andy/src/octave-bugs/min_testcase_fails.m at line 17, column 2
| |
| | |
| If line 4 with "663, 15, 154, 978161" is changed to ""663, 16, 154, 978161", load works as expected. '''Strange, isn't it?'''
| |
| I also had an old build (dev ab1c6e6d1be6 from Sun Oct 28 21:48:02 2012) and "load" worked in this version.
| |
| | |
| === Running bisect ===
| |
| I decided to make a fresh clone in a separate directory:
| |
| cd ~/src
| |
| hg clone http://www.octave.org/hg/octave octave-src
| |
| cd octave-src
| |
| hg bisect -b 88616c872933
| |
| hg bisect -g ab1c6e6d1be6
| |
| After this hg bisect uses a binary search strategy to test revisions:
| |
| Teste Änderungssatz 16428:f016a5342e19 (1380 Änderungssätze verbleiben, ~10 Tests)
| |
| So after checkout I had to compile the source tree (used ccache in the hope of faster checkout-compile cycles).
| |
| ./bootstrap
| |
| cd .. && mkdir octave-build && cd octave-build
| |
| export CXX="ccache g++"
| |
| export CC="ccache gcc"
| |
| ../octave-src/configure
| |
| make -j 7
| |
| After compilation I tried my test min_testcase_fails.m:
| |
| <pre>~/src/octave-build$ ./run-octave -q ../min_testcase_fails.m
| |
| fn = file2.txt
| |
| cmd = gzip file2.txt -c > file2.txt.gz
| |
| c =
| |
| | |
| 639 25 160 978160
| |
| 687 25 171 978160
| |
| 663 31 173 978161
| |
| 663 15 154 978161
| |
| 655 21 151 978161
| |
| </pre>
| |
| So this is apparently a good one. Tell it hg bisect!
| |
| | |
| cd ../octave-src && hg bisect -g
| |
| | |
| After this you try make again, bootstrap && configure if make fails, rerun the testscript, tell hg bisect if it's good or bad and repeat this until the revision which introduced the problem is found.
| |
| Or you can use "hg bisect --command", see next point.
| |
| | |
| === hg bisect --command ===
| |
| I used [http://jordi.platinum.linux.pl/tmp/bisect-32818.sh Jordis bisect script for bug 32818] and modified it to my needs:
| |
| ~/src$ cat bisect-loadsave.sh
| |
| #!/bin/bash
| |
| SRCDIR=~/src/octave-src
| |
| BUILDDIR=~/src/octave-build
| |
| cd $SRCDIR
| |
| ## Try a simple build first
| |
| if ! make -j 7
| |
| then
| |
| cd $SRCDIR
| |
| ./bootstrap || exit 127
| |
| #rm -rf $BUILDDIR
| |
| #mkdir $BUILDDIR
| |
| cd $BUILDDIR
| |
| $SRCDIR/configure || exit 127
| |
| make -j 7|| exit 127
| |
| fi
| |
| $BUILDDIR/run-octave -q ~/src/min_testcase_fails.m || exit 1
| |
| exit 0
| |
| | |
| After making it executable, let hg bisect use it
| |
| ~/src/octave-src$ hg bisect -c ../bisect-loadsave.sh
| |
| | |
| Now sit back and relax, this could last some hours... Finally:
| |
| <pre>Änderungssatz 16554:03a28487fa9d: good
| |
| Die erste fehlerhafte Revision ist:
| |
| Änderung: 16555:04fb96f4bea1
| |
| Nutzer: John W. Eaton <jwe@octave.org>
| |
| Datum: Tue Apr 23 12:57:16 2013 -0400
| |
| Zusammenfassung: allow double-click in file browser to load data files</pre>
| |
| | |
| | |
| === bisect bug 42612 ===
| |
| | |
| For bug #42612 I created a minimal script which fails: clf_fails_42612.m
| |
| subplot (2,1,1);
| |
| plot (1:5);
| |
| legend ('hello', 'location', 'northwestoutside');
| |
| clf
| |
| | |
| And the script which runs it, bisect_clf.sh:
| |
| #!/bin/bash
| |
| SRCDIR=~/src/octave-untouched-src
| |
| BUILDDIR=~/src/bisect_build
| |
| cd $BUILDDIR
| |
| ## Try a simple build first
| |
| if ! make -j 6
| |
| then
| |
| # make failed, run bootstrap and configure
| |
| cd $SRCDIR
| |
| ./bootstrap || exit 127
| |
| cd $BUILDDIR
| |
| $SRCDIR/configure FFLAGS=-g CFLAGS=-g CXXFLAGS=-g --enable-bounds-check --disable-java --disable-gui --disable-docs|| exit 127
| |
| make -j 7|| exit 127
| |
| fi
| |
| cd $SRCDIR
| |
| $BUILDDIR/run-octave -q clf_fails_42612.m
| |
| ret=$?
| |
| echo $(hg id) $ret >> clf_fails_42612.log
| |
| exit $ret
| |
| | |
| === show bisect history ===
| |
| | |
| hg log -r "bisect(good) or bisect(bad)" --template "{rev}:{node|short} {bisect}\n"
| |
| | |
| == Links ==
| |
| | |
| * [http://hg.code.sf.net/p/octave/image hgweb on sourceforge]
| |
| * [http://mywiki.wooledge.org/BashFAQ/073 bash parameter expansion]
| |