FigureJ

Posted by dscho on
URL: http://imagej.273.s1.nabble.com/FigureJ-tp5002527.html

Hi Jérôme (and other FigureJ fans),

I finally had time to play with FigureJ. Nice job! It provides important
functionality and is most likely going to be a very important tool for my
work.

Since you seemed to prefer feedback over code contributions when we talked
about open software development in Luxembourg, here a couple of comments
instead:

- the user interface is mostly intuitive, however, I had to watch a video
  tutorial (without sound because of a quiet office) to know how to resize
  the selection. Handles (these little white boxes on ImageJ selections'
  corners) would help that tremendously.

- likewise, I did not think of the "OK" button to get the image into the
  panel. I closed the image instead; that did not do what I expected...
  maybe it should?

- speaking of resizing the selection: it is always relative to the center.
  Sometimes it is easier to resize relative to a corner or a side, though,
  e.g. for screenshots.

- at one stage I had a FigureJ selection (i.e. this red-blue rectangle) in
  the FigureJ window itself.  That was a bit distracting, and I was only
  able to remove it via the Image>Overlay menu. I *think* it was triggered
  by my clicking on some FigureJ tool icons in the toolbar while the FigureJ
  window was in the foreground.

- I Mavenized the source code, just to see whether it was really hard
  (spoiler: it wasn't, see https://github.com/dscho/FigureJ). It
  demonstrated a problem: since IJ 1.47g, the ColorPicker is no longer a
  Frame, but a Dialog. Thus, the code did not compile, and it cannot reuse
  the color picker in any case (WindowManager.getFrame("CP") will never be
  able to obtain the color picker anymore).

- there appear to be 3 different panels involved, the New/Open/Save one,
  the one containing the "open image" button and the one to add labels and
  scale bars. Would it not be nicer to have a single window with
  appropriately grayed-out fields?

- double-clicking on a panel could open the image... that would make it a
  bit more intuitive than having to get the Figure Control panel into the
  foreground and to click the "open image" button.

- when I clicked "open image", it would automatically open the Macro
  Recorder, too. A bit distracting...

- speaking of the Options panel: it looks quite different from the video
  tutorial... maybe worth updating?

- just like the three different panels, I imagine it'd be better to have a
  single tool, not three (I did not figure out what the second tool was
  meant to do anyway)? Double-clicking that tool could bring the FigureJ
  panel into focus.

- at some stage I had to reorder the images. It would be nice if a drag 'n
  drop would exchange panels' images (and I'd suggest to keep the zoom
  factor and the center intact in case of different panel dimensions, so
  that exchanging two panels again would undo the exchange). Even looking
  at the source code of the serialized .figurej file does not seem to help
  because the LeafPanel class conflates the information about the position
  in the figure with the information about what is displayed there.

- speaking of serialization: it often looks like a neat way to solve the
  storage problem. That overlooks the fact, though, that it essentially
  prevents any future changes in the data structures (otherwise the
  serialized data cannot be read).

- speaking of drag 'n drop: it is nice that the panels can be resized by
  dragging the separator lines. However, I had to watch a video tutorial
  to know that I can do that. It might be a good idea to change the cursor
  when it hovers on top of a separator, to double-arrows (as it is the
  case for so many existing programs where a separator can be moved).

- should the "remove" button in the label panel not decrease the label
  counter so that drawing an "A", removing it, and then clicking the
  "draw" button again would draw an "A" again instead of a "B"?

- the Alt+Click to reset the label counter is too magic (read:
  unintuitive), and it does not even work on Linux: you have to hit
  Ctrl+Alt+Click. It should be a "reset" button; that would make things
  intuitive.

- the labels can be hard to read. Maybe an option to display them in
  Outline mode (i.e. add a background-colored border by using dilation)
  would help.

- speaking of labels: quite often, I find myself wanting to add labels to
  all panel at the identical location, "numbered" in the order we read and
  write English: left-to-right, top-to-bottom (in that order). Maybe there
  could be an option for that, too?

- I saw that "Image>Get Info" on the FigureJ window shows a bit of
  information about the current figure, but I did not see a way to
  reinitialize FigureJ from that info (that is stored e.g. when writing as
  TIFF). Maybe a good idea?

I will stop here because I realize that it is already a metric ton of
feedback that you might want to digest before I go on... ;-)

Ciao,
Johannes

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