Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move cell_roi_creation executable over to ophys_etl_pipelines #496

Open
3 tasks
danielsf opened this issue May 19, 2022 · 0 comments
Open
3 tasks

move cell_roi_creation executable over to ophys_etl_pipelines #496

danielsf opened this issue May 19, 2022 · 0 comments

Comments

@danielsf
Copy link
Contributor

danielsf commented May 19, 2022

The cell_roi_creation_queue currently runs an executable in the AllenSDK that needs to be (or, at least, is) run out of a python 2.7 conda environment.

This makes it difficult to change the code, since we cannot just push a change up to master of the SDK, the way we can with ophys_etl. We have to make sure that the changes get installed into the correct conda environment, and I do not want to touch an environment so old that it is still running python 2.7

We should talk about moving the queue over to ophys_etl so that it can benefit from our dockerized python 3 infastructure.

Tasks (broadly)

  • Port code from allensdk.internal.pipeline_modules.run_roi_filter to an ophys_etl module
  • Verify that the code returns identical outputs to the SDK implementation
  • update ruby strategy associated with cell_roi_creation to point to the ophys_etl executable

This was prompted by a series of failures which produce inscrutable error messages, e.g.

http://lims2/job_logs?id=1177809219&utf8=%E2%9C%93

Traceback (most recent call last):
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/site-packages/allensdk/internal/pipeline_modules/run_roi_filter.py", line 286, in <module>
if __name__ == "__main__": main()
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/site-packages/allensdk/internal/pipeline_modules/run_roi_filter.py", line 263, in main
data = load_all_input(input_data)
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/site-packages/allensdk/internal/pipeline_modules/run_roi_filter.py", line 212, in load_all_input
rois = roi_filter_utils.order_rois_by_object_list(object_data, rois)
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/site-packages/allensdk/internal/brain_observatory/roi_filter_utils.py", line 225, in order_rois_by_object_list
np.array(roi_points))
File "/allen/aibs/technology/conda/production/allensdk_internal_temp2/lib/python2.7/site-packages/allensdk/internal/brain_observatory/roi_filter_utils.py", line 289, in get_indices_by_distance
tree = cKDTree(mask_points)
File "ckdtree.pyx", line 533, in scipy.spatial.ckdtree.cKDTree.__init__
ValueError: Buffer has wrong number of dimensions (expected 2, got 1)

Consulting our processing support notes this error really means "no ROIs were found." I had hoped that we could just change the error message in the code so that operators aren't caught wondering what that error message actually means. In theory, we can change the error message, but then I saw that it was running in python 2.7, which made me leery of touching it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant