-
Couldn't load subscription status.
- Fork 0
Adding skeletonization notebooks to the repo. #59
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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", |
There was a problem hiding this comment.
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.
There was a problem hiding this 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\")" |
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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", |
There was a problem hiding this comment.
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", |
There was a problem hiding this comment.
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
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.