AIOOB when displaying a dataset with one dimension
- Dominant language
- Java
- Stars
- 12
- Forks
- 15
- PR merge metrics
- No merged PRs in 30d
Description
Illustrated in this sample python script:
```
# @OpService ops
# @DisplayService display
blank = ops.createimg(100)
display.createDisplay(blank)
```
Which causes the following exception:
```
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at net.imagej.display.DefaultDatasetView.xyPlane(DefaultDatasetView.java:340)
at net.imagej.display.DefaultDatasetView.autoscale(DefaultDatasetView.java:169)
at net.imagej.display.DefaultDatasetView.initializeView(DefaultDatasetView.java:515)
at net.imagej.display.DefaultDatasetView.rebuild(DefaultDatasetView.java:399)
at net.imagej.display.DefaultImageDisplay.rebuild(DefaultImageDisplay.java:136)
at net.imagej.display.DefaultImageDisplay.display(DefaultImageDisplay.java:274)
at org.scijava.display.DefaultDisplayService.createDisplay(DefaultDisplayService.java:221)
at org.scijava.display.DefaultDisplayService.createDisplay(DefaultDisplayService.java:207)
```
Which makes sense, since there is no "Y" for a y plane.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the sample script and the stack trace in net.imagej.display.DefaultDatasetView, especially xyPlane, autoscale, initializeView, and rebuild. Trace how a one-dimensional dataset is handled during display initialization. Done means displaying the sample dataset without an ArrayIndexOutOfBoundsException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100