I could not understand why this part of a code gives error "Undefined function or variable 'normalise'". Can you please figure out for me?

function [normim, mask, maskind] = ridgesegment(im, blksze, thresh)
im = normalise(im,0,1); % normalise to have zero mean, unit std dev
fun = inline('std(x(:))*ones(size(x))');
stddevim = blkproc(im, [blksze blksze], fun);
mask = stddevim > thresh;
maskind = find(mask);

 Accepted Answer

There is no TMW-supplied function normalise nor ridgesegment so if you got the above function from some other place then perhaps you didn't get the entire package. Or, write the function yourself; it's not difficult, it's simply subtracting the mean and dividing by the standard deviation of the sample.

More Answers (1)

I'm not sure what I can add really to the error message which is succinct and tells you exactly what the problem is.
On the first line of your code you call:
im = normalise(im,0,1);
Matlab can't find that as a function. Either it doesn't exist or you have forgotten to add it to your Matlab path.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 3 Jun 2015

Answered:

dpb
on 3 Jun 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!