image Log


Commit Date  
[754a6f] by Carn? Draug Carn? Draug

New function bwareaopen to perform area opening.

* bwareaopen.m: new function to perform area opening, a bwconncomp wrapper.
* iptcheckconn.m: fix that would reject logical matrices as valid since they
would fail the isnumeric test.
* NEWS: add new function to list of new functions for next release.
* INDEX: add new function to index list.
* COPYING: add license for the new function.

2013-10-28 17:08:51 Tree
[292736] by Carn? Draug Carn? Draug

New function labelmatrix to create labelled matrix from bwconncomp output.

* labelmatrix.m: new function.
* COPYING: list license of new function.
* NEWS: add to list of new functions for next release.

2013-11-07 21:01:45 Tree
[0ac3df] by Carn? Draug Carn? Draug

bwconncomp: return indices for object elements and not its boundaries.

* bwconncomp: PixelIdxList only gives indices for the borders of each
object in the input image. Fix this and give indices for each element
in the object. Also, by making use of bwlabeln, expand support for matrices
with arbitrary number of dimensions (it was only accepting connectivity
of 4). The default connectivity was changed to 8 for Matlab compatibility.
Add tests.
* private/make_conn.m: return second output argument giving connectivity
for the user (not used internally since for that is only the logical matrix).
* NEWS: make note of this big change. Also added fucntion to list of
functions supporting ND images.

2013-11-07 20:09:04 Tree
[b413eb] by Carn? Draug Carn? Draug

bwconncomp: fix bug that causing linear indices to be wrong.

* bwconncomp.m: subscript coordinates from bwboundaries used to be
in [col row] order but that bug was fixed with 578e8a22a921. Unfortunately,
the change was not fixed in the functions that were calling it.

2013-11-07 07:34:59 Tree
[e94d00] by Carn? Draug Carn? Draug

Fix bug in C++ strel when calculating pad for image with more dimensions.

* src/strel.cc (post_pad, pre_pad): fix usage of "redim()" (which is an
accessor, not a modifer) by replacing it with "resize (n, 1)". This
caused a bug with random effect in imdilate and imerode when the SE had
less dimensions than the image.
* src/imerode.cc: add tests against this bug using imerode and imdilate.
Remove unecessary usage of %!shared blocks.
* nlfilter.m: remove FIXME about failing test due to bug in imdilate

2013-11-07 04:22:19 Tree
[9fcb4d] by Carn? Draug Carn? Draug

maint: update NEWS.

* NEWS: remove section about new option for rgbplot since the function
has since been removed from the package and moved to Octave core. Rewrite
text about swapped arguments to medfilt2.

2013-11-07 03:27:31 Tree
[a043a7] by Carn? Draug Carn? Draug

Rewrite colfilt to support N-dimensional images and implement distinct blocks.

* inst/colfilt.m: rewrite function in order to accept matrices with
any number of dimensions. Also make use of im2col and col2im instead
of reimplementing the same thing. Add the option for distinct blocks.
Still accept argument to process the image in parts but ignore them
since they can't have any effect on the final result anyway. Document
a list of alternative techniques to perform common sliding blocks
filtering with higher performance than colfilt.
* inst/nlfilter.m: add note on documentation about using colfilt.
* NEWS: add colfilt to list of modified functions
* COPYING: change license of colfilt to GPLv3+

2013-11-03 09:14:42 Tree
[939332] by Carn? Draug Carn? Draug

maint: update list of functions and their licenses in COPYING file.

2013-11-01 21:13:20 Tree
[896f5b] by Carn? Draug Carn? Draug

Rewrite nlfilter for support of N-dimensional input.

* nlfilter.m: complete rewrite to support N-dimensional images and blocks.
Also make use of im2col rather than rewrite the block creation.
* private/im2col_check.m: new function that performs that perform most
of input checking for both im2col() and nlfilter().
* im2col.m: leave most input check to new private function im2col_check(),
and add a few more tests for input checking.
* private/pad_for_spatial_filter.m: rename to pad_for_sliding_filter for a
better match of what it does (no longer only meant to prepare input for the
__spatial_filter__ function).
* private/pad_for_sliding_filter.m: previously named pad_for_spatial_filter().
Also changed one of its input argument to be size of block/domain, rather
than the block/domain itself.
* ordfiltn.m: fix call to the changed pad_for_spatial_filter function.
* NEWS: add nlfilter to list of functions that now support N-dimensional
input.

2013-11-01 19:24:40 Tree
[72cd72] by Carn? Draug Carn? Draug

bestblk: complete rewrite to suppport multi-dimensional matrices.

* bestblk.m: implement support for any number of dimensions. Vectorize
code (loop only over dimensions now). Add tests.
* NEWS: new section for functions now supporting N-dimensional matrices.

2013-11-01 05:05:28 Tree
[c97cf0] by Carn? Draug Carn? Draug

col2im: complete rewrite for support of N-dimensional matrices and blocks.

* col2im.m: complete rewrite of the function, now supporting matrices and
blocks with any number of dimensions. Fix compatibility bug where distinct
blocks were mounted back in the wrong order (from left to right and then
top to bottom, instead of top to bottom and then left to right) and remove
those tests. Added new tests.

2013-11-01 03:27:19 Tree
[83f060] by Carn? Draug Carn? Draug

im2col: implement N dimensional sliding, and fix sampling order for distinct.

* im2col.m: one more complete rewrite of this function for performance,
implementation of N-dimensional sliding blocks, and maximize shared code
between the two block types. For distinct block, this also fixes the Matlab
compatibility where sampling was done the wrong direction (now it samples
first down and then left) and change the tests accordingly. Implement distinct
blocks with more dimensions than the input matrix. Pad indexed images
correctly (padvalue of 0 only for uint8 and uint16). Rewrite documentation
for all the changes. Add more tests.

2013-10-30 20:18:53 Tree
[355bd9] by Carn? Draug Carn? Draug

bwperim: rewrite to support N-dimensional images and connectivity.

* bwperim.m: rewrite the function in order to accept images with any number
of dimensions. Treat the connectivity argument as more standard (relying on
the new private make_conn function). Display image instead of returning its
value if nargout less than 1. Add tests.
* private/make_conn.m: new private function to be shared among functions
accepting a connectivity argument.
* NEWS: add bwperim to functions that have been changed.

2013-10-29 02:32:44 Tree
[201fd0] by Carn? Draug Carn? Draug

intlut: fix for images of signed integers and with intmax() values.

* intlut.m: convert image/indices to class double and add 1 in case it
has any value equal to its class intmax(). Also add an extra 32768 if the
class is int16 to have an offset based on zero. Fix and add tests for
these cases.

2013-10-29 21:42:24 Tree
[7779d9] by Carn? Draug Carn? Draug

New function intlut and deprecate uintlut.

* intlut.m: new function to perform what uintlut should be doing but
without the unsigned integer limitations (although this limitation was
actually never coded in uintlut due to lack of input check). It also
fixes the index+1 bug in uintlut.
* uintlut.m: deprecate in favour of intlut (function is currently deprecated
in Matlab as well), remove workaround of converting indices to double for
very old versions of Octave.
* NEWS: mention new function intlut and deprecation of uintlut.
* INDEX: add new function intlut.

2013-10-28 20:15:43 Tree
[ad3e5b] by Carn? Draug Carn? Draug

im2col: rewrite of "sliding" option for performance increase.

* im2col.m: rewrite code for the "sliding" option by creating an empty matrix
which is filled in the loop rather than concatenating each column. This
has an huge performance increase, greater than 500X faster (compare an image
of size 100x100, with blocks 20x20). Remove Josep Mones i Teixidor from
copyright since both "sliding" and "distinct" have been rewritten.
* NEWS: mention performance increase of im2col and support for N-dimensional
images.

2013-10-29 12:49:53 Tree
[a6294b] by Carn? Draug Carn? Draug

im2col: N-dimensional support for, and vectorization of, "distinct" option.

* im2col.m: implement rearraging of distinct N-dimensional blocks with
N-dimensional images into columns. Vectorize the "distinct" option for
a huge performace increase (dependent on the number of blocks).

2013-10-29 12:15:08 Tree
[d26a86] by Carn? Draug Carn? Draug

Deprecate bwborder in favour of bwmorph with the "remove" option.

* bwborder.m: deprecate in favour of `bwmorph (IM, "remove")' because it
does the same, works for any number of dimensions, performs faster, and
is present in Matlab.
* NEWS: add bwborder to list of deprecated function in upcoming release.

2013-10-29 10:31:11 Tree
[94c119] by Carn? Draug Carn? Draug

Use warning ("off", ID, "local") instead of an unwind_protect block.

* rgb2gray.m: use the "local" option for warning(), available with new
version of Octave, to simplify turning off warnings for broadcasting locally.
We are already dependent on that version for other reasons anyway.
* wavelength2rgb.m: ditto.

2013-10-29 17:07:21 Tree
[547221] by Carn? Draug Carn? Draug

conndef: simplify code to generate N-dimensional minimal connectity array.

* conndef.m: rewrite section to create N-dimensional minimal connectivity
array; follow guidelines for documentation style, error messages,
and whitespace; check connectivity type even for 1 dimensional arrays;
add tests for input check and 4 dimensional minimal connectivity.

2013-10-28 17:07:35 Tree
[b05957] by Carn? Draug Carn? Draug

bwmorph: add test for bug #39293 previously fixed with cset 4598c2a5bf1a.

2013-10-23 22:23:01 Tree
[c8354d] by Carn? Draug Carn? Draug

bwlabeln: added some more tests comparing results with bwlabel().

2013-10-17 03:03:38 Tree
[71c15a] by Carn? Draug Carn? Draug

bwlabel: error if input ndims is larger than 2.

* bwlabeln.cc (bwlabel): for N dimensional matrices, bwlabel was
concatenating the extra dimensions into a 2D boolMatrix. Fix
this by checking the number of dimensions first.

2013-10-17 02:44:50 Tree
[a50b1b] by Carn? Draug Carn? Draug

bwlabeln: use implementation of bwlabel which is faster for 2D matrices.

* bwlabeln.cc: merged in code from bwlabel(). If input matrix is 2
dimensional, and the connectivity mask is equivalent to 4 or 8,
use bwlabel_2d() which is faster (though the labels number may
differ). Also fix bug when connectivity mask was passed as a
matrix rather than a scalar connectivity value.
* bwlabel.cc: file removed and merged into bwlabeln.cc.
* Makefile: remove bwlabel.oct as target

2013-10-17 02:33:34 Tree
[275202] by Carn? Draug Carn? Draug

bwlabel: changed order of labels and improved performance.

* bwlabel: some 5x performance increase by making use of fortran_vec,
linear indexing, boolean values for n (instead of checking each time
in the loop), use std::vector instead of OCTAVE_LOCAL_BUFFER.
Changing what value is used when merging two different objects, by
using the pixel on the top left (or just left for n=4), increases
chances of getting labels in the right order. Split the actual
bwlabel into separate function so it may be used later by others.
Added tests.
* NEWS: added bwlabel to list of changed functions.

2013-10-17 00:48:22 Tree
Older >