image Log


Commit Date  
[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
[2a34ad] by Carn? Draug Carn? Draug

impad: deprecate impad in favour of padarray.

* impad.m: deprecate function and recommend to replace with padarray because
padarray already does the same thing (and padarray is the one that exists
in Matlab), works for matrices with any number of dimensions, and is now
also working faster.
* fftconv2.m, imrotate.m, imshear.m, imsmooth.m, imtranslate.m: replace
impad with padarray (careful that impad's replicate pattern is padarray's
circular pattern and xpad and ypad need to be swapped).
* NEWS: add impad to list of deprecated functions.

2013-10-11 17:29:56 Tree
[9e53c0] by Carn? Draug Carn? Draug

padarray: manage padsize larger than input matrix with symmetric and reflect.

* padarray.m: complete rewrite for a performance increase by preallocating
the output matrix and then fill the values (rather than continuosly
concatenating matrices). Also implements cases when the length of the
padding is larger than the input matrix and the pattern is "symmetric"
or "reflect" (when input matrix needs to be repeated multiple times
in the padding, half of them flipped). Adds Matlab compatible API that
allows to swap the arguments of DIRECTION and PADVAL/PATTERN.
* NEWS: add padarray to list of functions wil small changes.

2013-10-10 21:09:49 Tree
[8905fa] by Carn? Draug Carn? Draug

bwmorph: small code comment added about compatibility

2013-10-11 14:49:13 Tree
[bec6e0] by Carn? Draug Carn? Draug

bwmorph: support of N dimensional images and performance increase.

* bwmorph.m: add support to N dimensional images for bothat, clean, close,
dilate, erode, fill, majority, open, remove, skel-lantuejoul, and tophat.
An increased performance of 10-5x was also introduced for clean, fill,
majority, and remove, by making use of convn instead of applylut.
* NEWS: mention changes to bwmorph including the changes introduced
with cset a9226ee5088b.

2013-10-09 06:37:38 Tree
[4598c2] by Carn? Draug Carn? Draug

bwmorph: some refactoring and compatibility fixes.

* bwmorph.m: remove many workarounds required for Octave versions pre 3.0.0,
and remove warnings about n>1. For matlab compatibility, convert n<0 to 1,
accept any numeric matrix as valid BW image, and display image if nargout
is 0. Use @strel to create structuring elements. Use function handles
rather than a string and eval, and removing many returns in the middle of
the code. Remove case-sensitivity for operation names. Add many tests.

2013-10-09 01:53:00 Tree
[1e7086] by Carn? Draug Carn? Draug

isbw: use boolean logic for increased performance.

2013-10-08 19:48:55 Tree
[08e289] by Carn? Draug Carn? Draug

Expand functions that make use of imdilate and imerode to use strel.

* private/prepare_strel.m: small private function common to all other
which checks validity of a structuring element and creates a strel
object if input was a binary matrix.
* imbothat.m, imclose.m, imopen.m, imtophat.m, mmgradm.m: make use of
new prepare_strel, uniform the documentation, add many tests for
N dimensions, and weird SEs, follow Octave coding guidelines,
* mmgradm.m: change default SEs for elementary cross, fix gradient
when input is logical matrix (use boolean logic instead of
subtraction), expand documentation with examples, and how to perform
half gradients.
* imerode.cc: small change on documentation for uniformity.

2013-10-09 06:57:08 Tree
[088376] by Carn? Draug Carn? Draug

imtophat: remove deprecated transform option (use imbothat).

2013-10-08 01:45:15 Tree
[f9200b] by Carn? Draug Carn? Draug

imerode.cc: remove some unecessary template magic and save binary space.

2013-10-08 00:05:52 Tree
[10ee4a] by Carn? Draug Carn? Draug

bwdist: fix "comparison between signed and unsigned integer" warning.

2013-10-07 19:16:46 Tree
[1a2f07] by Carn? Draug Carn? Draug

New strel methods to calculate size of padding (fixes for even sized nhood).

* imerode.cc: make use of new pre_pad and post_pad methods, fixing the bugs
when doing dilation with even sized nhood. Use the octave::image namespace.
Mark previous xtest as normal assert since it's fixed now.
* strel.h, strel.cc: new pre_pad and post_pad methods. Add comments on
rationale of the class and how origin coordinates are treated.

2013-10-07 17:19:16 Tree
[7c52da] by Carn? Draug Carn? Draug

New C++ class strel for use in morphological functions.

* strel.h, strel.cc: new C++ class (strel) that works as part wrapper
for the @strel class. Methods such as set_origin, and reflect will
allow for better control and homogeneity between the multiple
functions that use SE's. In addition, hide the uglyness of accessing
@strel through feval.
* imerode.cc: replace strel struct and connection with @strel, with the
new octave::image::strel class. Add failing test for imdilate when
using even sized SE (to be fixed next with the use of the new class).
* Makefile: adjust rules to build imerode.oct using strel.h.

2013-10-03 16:25:51 Tree
[95d876] by Carn? Draug Carn? Draug

strel: mark object as flat if height values are all zeros.

2013-09-30 20:47:02 Tree
Older >