Opened 6 years ago

Closed 6 years ago

#1994 closed defect (can't reproduce)

Volume cropping: index out of range

Reported by: brandon.scott@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Volume Data Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.17134
ChimeraX Version: 0.9 (2019-06-03)
Description
Cropping down the image to look at a small feature caused an index out of range error.

Log:
UCSF ChimeraX version: 0.9 (2019-06-03)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  
Opened multichannel map series
cell_CamB_ch0_stack0000_488nm_0000000msec_0003964235msecAbs_COR_decon.tif, 2
channels, 100 images per channel, grid size 602,584,248, pixel 1, shown at
step 2, values uint16  

> volume #1 projectionMode 3d

> ui mousemode rightMode "crop volume"

> volume #1.1.1 region 30,0,0,601,583,247

> volume #1.1.1 region 30,0,0,601,431,247

> volume #1.1.1 region 30,146,0,601,431,247

> volume #1.1.17 region 30,146,0,250,431,247

> volume #1.1.17 region 30,146,0,199,431,247

> view cofr false

Traceback (most recent call last):  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\core\triggerset.py",
line 130, in invoke  
return self._func(self._name, data)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py", line
3554, in _update_drawings  
v.update_drawings()  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py", line
721, in update_drawings  
self._keep_displayed_data = self.displayed_matrices()  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py", line
1628, in displayed_matrices  
matrices.append(self.matrix(read_matrix))  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py", line
1143, in matrix  
m = self.region_matrix(r, read_matrix)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py", line
1167, in region_matrix  
m = d.matrix(origin, size, step, progress, from_cache_only)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\data\griddata.py",
line 248, in matrix  
m = self.read_matrix(ijk_origin, ijk_size, ijk_step, progress)  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 69, in read_matrix  
a = pi.planes_data(klist, cc, ch, self.time)  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 194, in
planes_data  
a = tif.asarray(key = plist)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 2112,
in asarray  
pages = self.pages._getlist(key)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3425,
in _getlist  
pages = [getitem(i, validate) for i in key]  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3425,
in <listcomp>  
pages = [getitem(i, validate) for i in key]  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3457,
in _getitem  
self._seek(key)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3381,
in _seek  
raise IndexError('index out of range')  
IndexError: index out of range  
  
Error processing trigger "graphics update": index out of range:  
IndexError: index out of range  
  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3381,
in _seek  
raise IndexError('index out of range')  
  
See log for complete Python traceback.  
  
An error occurred in drawing the scene. Redrawing graphics is now stopped to
avoid a continuous stream of error messages. To restart graphics use the
command "graphics restart" after changing the settings that caused the error.  
  
Traceback (most recent call last):  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\core\updateloop.py",
line 72, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\core\graphics\view.py",
line 162, in draw  
self._draw_scene(camera, drawings)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\core\graphics\view.py",
line 227, in _draw_scene  
draw_transparent(r, transparent_drawings)  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\drawing.py", line 1400, in draw_transparent  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\opengl.py", line 1101, in draw_transparent  
draw()  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\drawing.py", line 1400, in <lambda>  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\drawing.py", line 1405, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
704, in draw  
bi.draw(renderer, draw_pass)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
1152, in draw  
Image3d.draw(self, renderer, draw_pass)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
714, in draw  
pd = self._update_planes(renderer)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
484, in _update_planes  
pd = self._update_view_aligned_planes(view_dir)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
536, in _update_view_aligned_planes  
pd = self._view_planes()  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
546, in _view_planes  
pd = ViewAlignedPlanes(self)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
985, in __init__  
self._fill_textures()  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
1031, in _fill_textures  
self.texture = t = self._texture_3d()  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
1040, in _texture_3d  
td = self._texture_3d_data()  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
1064, in _texture_3d_data  
td[i,:] = ir._color_plane(k0+i*kstep, z_axis, view_aligned=True)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
1161, in _color_plane  
dp = ir._color_plane(k, axis, view_aligned=view_aligned, require_color=True)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
206, in _color_plane  
m = self._matrix_plane(plane, axis)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\image3d.py", line
188, in _matrix_plane  
m = self._data.matrix(ijk_origin, ijk_size, ijk_step)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\chimerax\map\data\griddata.py",
line 248, in matrix  
m = self.read_matrix(ijk_origin, ijk_size, ijk_step, progress)  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 69, in read_matrix  
a = pi.planes_data(klist, cc, ch, self.time)  
File "C:\Apps\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 194, in
planes_data  
a = tif.asarray(key = plist)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 2112,
in asarray  
pages = self.pages._getlist(key)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3419,
in _getlist  
self.keyframe = next(key)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3259,
in keyframe  
self._keyframe = self._getitem(index)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3457,
in _getitem  
self._seek(key)  
File "C:\Apps\ChimeraX\bin\lib\site-packages\tifffile\tifffile.py", line 3381,
in _seek  
raise IndexError('index out of range')  
IndexError: index out of range  
  




OpenGL version: 3.3.0 NVIDIA 430.86
OpenGL renderer: Quadro M4000/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Change History (3)

comment:1 by pett, 6 years ago

Component: UnassignedVolume Data
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionVolume cropping: index out of range

comment:2 by Tom Goddard, 6 years ago

This error means ChimeraX tried to read a tiff file that did not contain as many 2D planes as was expected. I see from the log that the data was 2 channels, 100 time points, grid size 602,584,248. Is each 3d image a separate file (200 files total)? Can you reproduce this error? If you can reproduce it can you open just a single time point single channel (assuming it is 200 separate files) and crop and get this error?

I've tried cropping a 3d tiff image and cannot produce the error so it is something special about your data files.

comment:3 by Tom Goddard, 6 years ago

Resolution: can't reproduce
Status: assignedclosed

No response from user. May be a problem with the data file not containing as many data planes as the header specifies.

Note: See TracTickets for help on using tickets.