Path: news.mathworks.com!not-for-mail
From: "rebecca donnelly" <rdonnelly10@qub.ac.uk>
Newsgroups: comp.soft-sys.matlab
Subject: Doubly Linked Lists of objects
Date: Sat, 7 Nov 2009 18:28:01 +0000 (UTC)
Organization: Queens Univ Belfast
Lines: 40
Message-ID: <hd4e7h$ak2$1@fred.mathworks.com>
Reply-To: "rebecca donnelly" <rdonnelly10@qub.ac.uk>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1257618481 10882 172.30.248.37 (7 Nov 2009 18:28:01 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sat, 7 Nov 2009 18:28:01 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 2076921
Xref: news.mathworks.com comp.soft-sys.matlab:583245


Hi,
I am a first year PhD student and am implementing the image processing algorithm "Seeded Region Growing" as an exercise to help me get to grips with Matlab and to gain a deeper understanding of the algorithm.

The paper asks for a datastructure they call a "Sequentially Sorted List", it needs to hold an object which contains the x and y coordinates of a pixel and another value called Sigma which the list is sorted by.

I attempted to do this using the following code:

 % Calculate sigma and create a new pxladrs object 
        sigma_value = abs(seg_img(x+1, y) - mean_gl);
        p = pxladrs(sigma_value);
        % Add x and y coords to pxladrs object
        p.Xvalue = x+1;
        p.Yvalue = y;
        % Add object to SSL
        if counter==0
            ssl_start = dlnode(p);
        else
            cur = ssl_start;
            % Insert ordered by sigma value
            while cur ~= 0
                if p.Sigma < cur.Data.Sigma 
                    ssl_insert = dlnode(p);
                    ssl_insert.insertBefore(cur);
                    break
                end
         end
                cur = cur.Next;

However this didn't work as I couldn't store the pxladrs object in the doubly linked list. 

Error:
??? Undefined function or method 'dlnode' for input arguments of
type 'pxladrs'.
Error in ==> SeededRegionGrowing at 58
            ssl_start = dlnode(p);

So my question is; How do I modify the doubly linked list so it can handle objects? Or am I going about this totally the wrong way?

Any comments appriciated,
Rebecca