Re: Measure command
Posted by
simon.boyce on
May 31, 2006; 10:38pm
URL: http://imagej.273.s1.nabble.com/Measure-command-tp3702627p3702629.html
Great, many thanks. Simon
On May 31, 2006, at 12:38 PM, Wayne Rasband wrote:
>> Is it possible to customize which columns appear in the results
>> window if you're just measuring the length of a line? I have no
>> need for mean, min, max or angle. I just want length. I need this
>> for a project where the result is easily and clearly legible on
>> the screen.
>
> When measuring lines, you can remove the mean, min and max from the
> results by unchecking "Mean Gray Value" and "Min & Max Gray Value"
> in Analyze>Set Measurements. To only record only the length, create
> a custom "Measure Line" macro
>
> macro "Measure Line [l]" {
> if (selectionType!=5)
> exit("Straight line selection required");
> getPixelSize(unit, pw, ph);
> getLine(x1, y1, x2, y2, width);
> dx=(x2-x1)*pw; dy=(y2-y1)*ph;
> length = sqrt(dx*dx+dy*dy);
> setResult("Length", nResults, length);
> updateResults;
> }
>
> and add it to StartupMacros.txt. After restarting ImageJ, you will
> be able to record line lengths by pressing the "l" key.
>
> Or create a macro tool the creates a line selection and measures
> its length.
>
> macro "Line Length Tool -C00bL1de0L1ee1" {
> getPixelSize(unit, pw, ph);
> getCursorLoc(x, y, z, flags);
> xstart = x; ystart = y;
> x2=x; y2=y;
> while (flags&16!=0) {
> getCursorLoc(x, y, z, flags);
> if (x!=x2 || y!=y2)
> makeLine(xstart, ystart, x, y);
> dx=(x-xstart)*pw; dy=(y-ystart)*ph;
> length = sqrt(dx*dx+dy*dy);
> showStatus("Length="+length+" "+unit);
> x2=x; y2=y;
> wait(10);
> };
> setResult("Length", nResults, length);
> updateResults;
> }
>
> -wayne
>