NOTICE! This is a static HTML version of a legacy LOCI Software ticket.

LOCI projects are now located on GitHub. The Bio-Formats project can be found here.

Ticket #13 (closed defect: fixed)

Opened 2007-03-16T12:58:08-05:00

Last modified 2007-08-01T16:08:02-05:00

Behavior of overlay tools when no data object present

Reported by: sorber Owned by: curtis
Priority: minor Milestone: visbio3.40
Component: visbio Severity:
Keywords: overlays Cc:
Blocked By: Blocking:

Description

Using overlay tools on a display with no data object causes the overlays to be created but not to appear, since overlays need a domain coordinate system in which to reside (all coordinates are NAN). Overlay tools could default to pixel coordinates instead of domain coordinates when a data object is missing. Alternatively, overlay tools could just be disabled.

I'm not sure how best to detect that no data object is present in the display.

Change History

comment:1 follow-up: ↓ 3 Changed 2007-03-16T13:11:10-05:00 by sorber

TransientSelectBox throws an exception when there's no data object present. To fix this problem, first address bug #15. Then consider the behavior of PointerTool, which creates the TSB, when no data object is present.

comment:2 Changed 2007-06-26T18:07:56-05:00 by sorber

  • Owner changed from sorber to curtis

comment:3 in reply to: ↑ 1 Changed 2007-08-01T15:50:15-05:00 by curtis

  • Milestone set to visbio3.4

I couldn't get TransientSelectBox to throw an exception with the latest version, and overlays do appear now even if the parent transform is removed, but I do see one exception when it is first removed:

visad.SetException: Gridded2DSet: samples value #0 may not be missing
	at visad.Gridded2DSet.<init>(Gridded2DSet.java:104)
	at visad.Gridded2DSet.<init>(Gridded2DSet.java:64)
	at loci.visbio.overlays.OverlayUtil.getLineLayer(OverlayUtil.java:349)
	at loci.visbio.overlays.OverlayUtil.getSelectionLayer(OverlayUtil.java:145)
	at loci.visbio.overlays.OverlayTransform.getData(OverlayTransform.java:604)
	at loci.visbio.view.TransformLink.getImageData(TransformLink.java:480)
	at loci.visbio.view.TransformLink.computeData(TransformLink.java:465)
	at loci.visbio.view.TransformLink$1.run(TransformLink.java:427)

comment:4 Changed 2007-08-01T16:08:02-05:00 by curtis

  • Status changed from new to closed
  • Resolution set to fixed

To generate the exception mentioned in the previous comment, overlays must exist and be selected. The problem is that getMultiplier returns NaN when the parent transform is first removed for some reason. So I hacked getMultiplier to return 1 instead in that case, and the exceptions no longer happen. Instead, the selection thickness temporarily gets out of whack. It goes back to normal next time you select anything though, so I'm going to call this problem solved.