Skip to content

Conversation

@marwan-abdellah
Copy link

I have added two notebooks for the skeletonization functionality. The first one is quite simple and uses a single function to run the skeletonization pipeline end-to-end. The utilities notebook provides a step-by-step execution with several visualization and visual validation capabilities.

Copy link
Contributor

@MWolfR MWolfR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other violations:

  • Only one notebook per folder, called "analysis_notebook.ipynb".
  • Requires analysis info file with requirements and other specs.

"metadata": {},
"outputs": [],
"source": [
"# mesh_path = \"/scratch/testing/864691135014681590.obj\"\n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard coded paths please.
Use the obi-notebook widget to find and download meshes.

Copy link
Contributor

@MWolfR MWolfR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some improvements / suggestions.

"source": [
"environment = \"staging\"\n",
"token = get_token(environment=environment, auth_mode=\"daf\")\n",
"project_context = get_projects.get_projects(token, env=\"staging\")"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use env=environment instead of env="staging"

"id": "ed65fc07",
"metadata": {},
"source": [
"## Display EMCellMesh table"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add some instructions here. Explain what is being displayed and what a user is expected to do. And how they can understand what each mesh means.

" \"description\": \"Reconstructed morphology from an EM surface mesh\"\n",
"}\n",
"\n",
"skeletonization_params = {\n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the skeletonization params:
I suggest using ipywidgets (maybe Slider, Checkbox) for the selection.
Not just because it is fancier, but also because this allows us to set a "reasonable" interval for the resolution parameters. Right now, I would not know what range of resolutions makes sense at all.

Also, with some callback functions the behavior can be such that the spine resolution is always better than the other resolution.

" output_morphology_id = UUID(job.get('output').get('morphology').get('id'))\n",
" break\n",
" elif status == 'failed':\n",
" print(json.dumps(job, indent=2))\n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be formatted better than json.dumps

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

Successfully merging this pull request may close these issues.

3 participants