ome / omero-figure

An OMERO.web app for creating Figures from images in OMERO
http://figure.openmicroscopy.org
GNU Affero General Public License v3.0
15 stars 30 forks source link

Bug: render scaled region: various issues #453

Open will-moore opened 2 years ago

will-moore commented 2 years ago

Seen on IDR:

Traceback (most recent call last):
...

  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omero_figure/views.py", line 203, in render_scaled_region
    canvas = Image.new("RGB", (width, height), (221, 221, 221))

  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/PIL/Image.py", line 2698, in new
    return im._new(core.fill(mode, size, color))

TypeError: integer argument expected, got float

<WSGIRequest: GET '/figure/render_scaled_region/9836998/71/0/?c=1%7C3:246$00FF00,2%7C6:133$FF0000&maps=[%7B%22reverse%22:%7B%22enabled%22:false%7D%7D,%7B%22reverse%22:%7B%22enabled%22:false%7D%7D]&region=158,5,1267,787&m=c'>
will-moore commented 2 years ago

Seen again today:

Internal Server Error: /figure/render_scaled_region/4506345/0/0/

TypeError at /figure/render_scaled_region/4506345/0/0/
integer argument expected, got float

Request Method: GET
Request URL: https://nightshade.openmicroscopy.org/figure/render_scaled_region/4506345/0/0/?c=1%7C632:17257$FF0000,2%7C435:23984$00FF00,3%7C8119:27076$0000FF&maps=[%7B%22reverse%22:%7B%22enabled%22:false%7D%7D,%7B%22reverse%22:%7B%22enabled%22:false%7D%7D,%7B%22reverse%22:%7B%22enabled%22:false%7D%7D]&region=-860,-860,5160,5160&m=c
Django Version: 3.2.12
Python Executable: /opt/omero/web/venv3/bin/python3

...
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/decorators.py", line 538, in wrapped
    retval = f(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omero_figure/views.py", line 203, in render_scaled_region
    canvas = Image.new("RGB", (width, height), (221, 221, 221))
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/PIL/Image.py", line 2544, in new
    return im._new(core.fill(mode, size, color))

Exception Type: TypeError at /figure/render_scaled_region/4506345/0/0/
Exception Value: integer argument expected, got float
will-moore commented 2 years ago

Seen on nightshade just now: /figure/render_scaled_region/4486420/0/0/?region=NaN,NaN,7156,7156

  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omero_figure/views.py", line 191, in render_scaled_region
    x = int(x * scale)

ValueError: cannot convert float NaN to integer
will-moore commented 9 months ago

https://www.openmicroscopy.org/qa2/qa/feedback/37359/

If ?region=0,0,1024,1024 is missing, should return 404 instead of Error:

Traceback (most recent call last):

File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)

File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/decorators.py", line 538, in wrapped
retval = f(request, *args, **kwargs)

File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omero_figure/views.py", line 181, in render_scaled_region
x, y, width, height = [float(r) for r in region.split(',')]

AttributeError: 'NoneType' object has no attribute 'split'