Login  Register

Re: Feature request: make line selection tool show dx/dy

Posted by Adrian Daerr-2 on Jan 07, 2020; 11:49am
URL: http://imagej.273.s1.nabble.com/Feature-request-make-line-selection-tool-show-dx-dy-tp5022813p5022816.html

Thank you Jan and Herbie for your macros, using them will make the
measurements a breeze, especially once I figure out how to get scaled
lengths in addition to pixel dimensions.

The nice icon is much appreciated too @imagejan :-)

Adrian


On 06/01/2020 14.31, Jan Eglinger wrote:

> Hi Adrian,
>
> you might want to create a custom line selection tool for this. Here's
> an example (mind the possible line breaks introduced by the mail client
> - that's one of the reasons I prefer the image.sc forum over the mailing
> list):
>
>
> // Author: Jan Eglinger
> macro "Kymograph Line Selection Tool - L1af1Ca00V0933Ve033C00fL1afaLfaf1" {
>      var leftButton = 16;
>      getCursorLoc(x, y, z, flags);
>      x0 = x;
>      y0 = y;
>      while (true) {
>          getCursorLoc(x, y, z, flags);
>          makeLine(x0, y0, x, y);
>          showStatus("dx: " + (x-x0) + "; dy: " + (y-y0));
>          if (flags&leftButton==0) {
>              return;
>          }
>      }
> }
>
>
>
>
>
>
> On 2020-01-06 12:43 PM, Adrian Daerr wrote:
>> Hello,
>>
>> I frequently use the line selection tool to measure the speed on
>> kymographs[1] (also known as spatio-temporal diagrams), which are
>> images where one dimension (say the horizontal) is a spatial
>> dimension, and the other (say the vertical) is a temporal dimension. A
>> moving object or interface produces an oblique trace, whose speed is
>> just the slope dx/dy (assuming, as above, that the y axis represents
>> time).
>>
>> [1] https://en.wikipedia.org/wiki/Kymograph
>>
>> To get the speed or slope of a trace, I use the line selection tool to
>> visually fit a tangent to this trace. This tool shows the angle of the
>> line in the status bar of the main application window, and computing
>> its tangent yields the slope in the chosen units.
>>
>> I wonder if it were possible for the line selection tool to show the
>> two increments dx and dy of the line selection - that is the x and y
>> offsets of the current point to the starting point -  'live' in the
>> statusbar along with the other information ? The increments are more
>> meaningful as measurements than the angle in my use case, and the
>> calculations become less error-prone (e.g. when using the angle,
>> depending on which dimension is the time, one must take either the
>> tangent or the cotangent, and the wrong choice may go unnoticed for a
>> while). Moreover the spatial and temporal measurement intervals - that
>> is the length of the fitted line segment - are lost in this process,
>> and thus estimating the uncertainty from the angle alone is impossible.
>>
>> If that makes the infoline too long, one could add to the line
>> selection tool options (currently only line width) the possiblity to
>> choose what data is shown (I am very rarely interested in the x/y
>> coordinates of the cursor location when I use this tool for example,
>> and would happily trade them for the dx/dy of the segment).
>>
>> I am aware of at least two work-arounds:
>>
>> 1) finishing the line selection (second mouse click) and doing a
>> measurement with 'bounding box' selected will give me the desired
>> increments as 'Width' and 'Height' in the measurement results table.
>>
>> 2) using the rectangle selection tool provides the increments between
>> current and starting points as Width and Height in the statusbar, but
>> fitting the invisible diagonal of the rectangle to the trace via just
>> the two corners is much less reliable and reproducible than visually
>> fitting a line to the entire trace.
>>
>> If there is an easy way of replacing/customising the status bar
>> information via a macro or plugin, that could be an interesting and
>> flexible solution.
>>
>> So this is merely a feature request to ease the workflow.
>>
>> Thanks for reading up to here,
>> cheers,
>> Adrian
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html