Closed will-moore closed 5 years ago
min, max, and histogram are used by the sparklines and to display the minima and maxima for any loaded numerical data.
Conflicting PR. Removed from build parade-merge#276. See the console output for more details. Possible conflicts:
--conflicts
@chris, But we only show the histograms for the filters, right? Not for the table data. If I don't return the histogram, min/max I don't see any difference in the table data (screenshot above). Unless you're using them in some other gs code/version?
On the table the min/max should be used for the heatmap I think. Since we were calculating everything else if memory serves I just kept the histogram in. I don't think we're using the histogram even on our PRs that advance the UI, etc. for Screens.
Conflicting PR. Removed from build parade-merge#277. See the console output for more details. Possible conflicts:
--conflicts Conflict resolved in build parade-merge#278. See the console output for more details.
OK, thanks. I'd forgotten the heatmaps use min/max from the server as I was originally calculating them in JS.
@will-moore It works, except, when I add a new item, such as selecting the second dropdown and clicking onto Table_drug
, I am confronted with empty central pane. This seems to improve at every step (refresh of the whole browser seems to help). So this bug seems to be first-time only.
But, if I add the same item twice, I get
eel, user-3, plate id 1153
Traceback (most recent call last):
File "/home/hudson/virtualenv/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/hudson/workspace/WEB-DEV-merge-deploy/OMERO.py/lib/python/omeroweb/decorators.py", line 486, in wrapped
retval = f(request, *args, **kwargs)
File "/home/hudson/virtualenv/lib/python2.7/site-packages/omero_parade/views.py", line 170, in get_data
data = module.get_data(request, data_name, conn)
File "/home/hudson/virtualenv/lib/python2.7/site-packages/omero_parade/table_filters/data_providers.py", line 121, in get_data
named_column_index = column_names.index(column_name)
ValueError: ' Drug' is not in list
<WSGIRequest
path:/parade/data/VGFibGVfIERydWc=/,
GET:<QueryDict: {u'plate': [u'1153'], u'_': [u'1552652690149'], u'field': [u'0']}>,
POST:<QueryDict: {}>,
COOKIES:{'__utma': '266053329.2142887685.1495792616.1500022766.1500022766.1',
'_ga': 'GA1.2.2142887685.1495792616',
'_gat': '1',
'_gid': 'GA1.2.1727788206.1552573228',
'csrftoken': '4YSve37bIcV2uyRnV5WM7qYZoYelyNG7',
'phpbb3_a9mfv_k': '7f25ee13812249ab',
'phpbb3_a9mfv_sid': 'd05bd6699dad6484bc65364d65ff9918',
'phpbb3_a9mfv_u': '2759',
'sessionid': 'p9iyxez092jkowx8vw8j8vcpcfimane2',
'style_cookie': 'null'},
META:{u'CSRF_COOKIE': u'4YSve37bIcV2uyRnV5WM7qYZoYelyNG7',
'HTTP_ACCEPT': 'application/json, text/javascript, */*; q=0.01',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
'HTTP_ACCEPT_LANGUAGE': 'en-GB,en;q=0.5',
'HTTP_CONNECTION': 'close',
'HTTP_COOKIE': 'csrftoken=4YSve37bIcV2uyRnV5WM7qYZoYelyNG7; _ga=GA1.2.2142887685.1495792616; style_cookie=null; phpbb3_a9mfv_u=2759; phpbb3_a9mfv_k=7f25ee13812249ab; phpbb3_a9mfv_sid=d05bd6699dad6484bc65364d65ff9918; __utma=266053329.2142887685.1495792616.1500022766.1500022766.1; _gid=GA1.2.1727788206.1552573228; sessionid=p9iyxez092jkowx8vw8j8vcpcfimane2; _gat=1',
'HTTP_HOST': 'web-dev-merge.openmicroscopy.org',
'HTTP_REFERER': 'http://web-dev-merge.openmicroscopy.org/webclient/?show=plate-1153',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:65.0) Gecko/20100101 Firefox/65.0',
'HTTP_X_FORWARDED_FOR': '10.205.124.62',
'HTTP_X_FORWARDED_PROTO': 'http',
'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
'PATH_INFO': u'/parade/data/VGFibGVfIERydWc=/',
'QUERY_STRING': 'plate=1153&field=0&_=1552652690149',
'RAW_URI': '/parade/data/VGFibGVfIERydWc%3D/?plate=1153&field=0&_=1552652690149',
'REMOTE_ADDR': '127.0.0.1',
'REMOTE_PORT': '48634',
'REQUEST_METHOD': 'GET',
'SCRIPT_NAME': u'',
'SERVER_NAME': '127.0.0.1',
'SERVER_PORT': '4080',
'SERVER_PROTOCOL': 'HTTP/1.0',
'SERVER_SOFTWARE': 'gunicorn/19.9.0',
'gunicorn.socket': <socket._socketobject object at 0x8502de0>,
'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x6c7ecd0>,
'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>,
'wsgi.input': <gunicorn.http.body.Body object at 0x6c7e650>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>
I can see at least three problems here. The white central pane is the fourth, but it is hard to find a concrete sequence which elicits it. But it is there, and very often too.
Edit: Okay, sorry, the problems I was reporting were caused by me not noticing that there was another, previous OMERO.table on that plate. I do not see any problems now,, after I have removed the other table, but I will leave the stacktrace report here (see above), just in case.
This missing feature was also reported at https://forum.image.sc/t/setting-up-omero-in-a-new-lab-suggestions-stories-and-advice-welcome/25626/19 "I tried using tables, but it turns out that the Parade tool for searching annotations can’t handle a mix of numbers and strings (numbers only, again future versions may include this function) so I switched to key-value pairs"
Also reported again in https://www.openmicroscopy.org/qa2/qa/feedback/27699/ by @dominikl
Thanks. Sorry, didn't know there was already a PR open for that issue.
That works for me now perfectly on merge-ci
Ready to merge FMPOV
cc @joshmoore
Merging for 0.1.3
See https://github.com/ome/omero-parade/issues/47
This allows table data in String columns to be loaded. To test:
Add table data...
and choose a String columnThis simply ignores any
TypeError
when generating histogram or min/max values for data. At this point we don't know the column type, so we can't test for numerical columns (as we do for filtering at https://github.com/ome/omero-parade/blob/master/omero_parade/table_filters/omero_filters.py#L74) I don't know what the intended usage of themin, max, and histogram
JSON data was in the UI. It doesn't seem to be used currently, but there may be plans to use it? cc @chris-allan @emilroz