Opened 7 years ago

Closed 7 years ago

#1458 closed defect (can't reproduce)

Problem reading TIFF image stack

Reported by: grahamj@… 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.8 (2018-11-16)
Description
Trying to open a .tif file exported from imageJ.  The same file opens fine in ChimeraX on a Mac, and opens in Windows, but when I try to change plane to volume in the Volume Viewer, I get the TypeError log.

Log:
UCSF ChimeraX version: 0.8 (2018-11-16)  
How to cite UCSF ChimeraX  

> open "C:/Users/Graham Johnson/Desktop/ROI12_10x10x40nm_100-149-of-202.tif"

Opened ROI12_10x10x40nm_100-149-of-202.tif, grid size 6023,3783,50, pixel 1,
shown at step 2, values uint16  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\volume_viewer.py", line 1847, in <lambda>  
sm.addAction(style, lambda s=style: self.representation_changed_cb(s))  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\volume_viewer.py", line 2351, in
representation_changed_cb  
self.set_map_style(v, style)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\volume_viewer.py", line 2375, in set_map_style  
v.show(representation = 'solid', show = v.shown())  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 627, in show  
self._keep_displayed_data = self.displayed_matrices() if show else None  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1591, in displayed_matrices  
matrices.append(self.matrix(read_matrix))  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1107, in matrix  
m = self.region_matrix(r, read_matrix)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1131, in region_matrix  
m = d.matrix(origin, size, step, progress, from_cache_only)  
File "C:\Program Files\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:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 69, in read_matrix  
pi.plane_data(k, cc, ch, t, ia_1d)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 179, in plane_data  
pixel_values[:] = a.ravel()  
TypeError: int() argument must be a string, a bytes-like object or a number,
not 'TiffImageFile'  
  
TypeError: int() argument must be a string, a bytes-like object or a number,
not 'TiffImageFile'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 179, in plane_data  
pixel_values[:] = a.ravel()  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\triggerset.py", line 126, in invoke  
return self._func(self._name, data)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 3377, in _update_drawings  
v.update_drawings()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 656, in update_drawings  
self._keep_displayed_data = self.displayed_matrices()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1591, in displayed_matrices  
matrices.append(self.matrix(read_matrix))  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1107, in matrix  
m = self.region_matrix(r, read_matrix)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1131, in region_matrix  
m = d.matrix(origin, size, step, progress, from_cache_only)  
File "C:\Program Files\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:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 69, in read_matrix  
pi.plane_data(k, cc, ch, t, ia_1d)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 179, in plane_data  
pixel_values[:] = a.ravel()  
TypeError: int() argument must be a string, a bytes-like object or a number,
not 'TiffImageFile'  
  
Error processing trigger "graphics update": int() argument must be a string, a
bytes-like object or a number, not 'TiffImageFile':  
TypeError: int() argument must be a string, a bytes-like object or a number,
not 'TiffImageFile'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 179, in plane_data  
pixel_values[:] = a.ravel()  
  
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:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\updateloop.py", line 72, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\view.py", line 159, in draw  
self._draw_scene(camera, drawings)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\view.py", line 220, in _draw_scene  
draw_transparent(r, transparent_drawings)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\drawing.py", line 1364, in draw_transparent  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\opengl.py", line 1027, in draw_transparent  
draw()  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\drawing.py", line 1364, in <lambda>  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\graphics\drawing.py", line 1369, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\grayscale.py", line 237, in draw  
pd = self.make_planes(axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\grayscale.py", line 289, in make_planes  
d = self.make_axis_planes(axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\grayscale.py", line 326, in make_axis_planes  
d = self.make_planes_drawing(planes)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\grayscale.py", line 368, in make_planes_drawing  
textures.append(self.texture_plane(k, axis))  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\grayscale.py", line 386, in texture_plane  
d = self.color_plane(k, axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\grayscale.py", line 404, in color_plane  
p = self.get_color_plane(axis, k)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\solid.py",
line 211, in get_color_plane  
return self.color_values(axis, plane, cmap, cmap_range)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\solid.py",
line 228, in color_values  
m = self.matrix_plane(axis, plane)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1182, in matrix_plane  
m = self.region_matrix((ijk_min, ijk_max, ijk_step), read_matrix)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\map\volume.py",
line 1131, in region_matrix  
m = d.matrix(origin, size, step, progress, from_cache_only)  
File "C:\Program Files\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:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 69, in read_matrix  
pi.plane_data(k, cc, ch, t, ia_1d)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\data\imagestack\imagej_tiff.py", line 179, in plane_data  
pixel_values[:] = a.ravel()  
TypeError: int() argument must be a string, a bytes-like object or a number,
not 'TiffImageFile'  
  




OpenGL version: 3.3.0 NVIDIA 398.36
OpenGL renderer: GeForce GTX 1080 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Change History (4)

comment:1 by Eric Pettersen, 7 years ago

Component: UnassignedVolume Data
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionProblem reading TIFF image stack

comment:2 by Tom Goddard, 7 years ago

Can you attach a file that has this problem?

comment:3 by Tom Goddard, 7 years ago

I tested a few different ImageJ written 3D images including multichannel images and they opened correctly in ChimeraX.

Your problem is something specific to the file you have written and I will only be able to debug it if you provide a file.

comment:4 by Tom Goddard, 7 years ago

Resolution: can't reproduce
Status: assignedclosed
Note: See TracTickets for help on using tickets.