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

Timelapse microscopy example #452

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Conversation

droumis
Copy link
Contributor

@droumis droumis commented Nov 21, 2024

timelapse_standalone

Copy link
Contributor

Your changes were successfully integrated in the dev site, make sure to review the pages of the projects you touched before merging this PR.

@droumis
Copy link
Contributor Author

droumis commented Nov 22, 2024

The final app is too wide for the website... but I'm tempted to not change it as I want to keep the frame dimensions true to the image. Besides, you can scroll to the right to see the rest and it's not like the app is functional on the website anyways, and there's a static snapshot of what the full thing looks like right above this cell. If someone is running this in a notebook, they will be able to adjust the window size to see the full app..

image

Copy link
Contributor

@maximlt maximlt left a comment

Choose a reason for hiding this comment

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

Another super solid example! I've left suggestions part of the review. My main feedback is that the annotating app still feels experimental (more than what you shared in your previous example), it's a feature that needs users and their feedback to mature. Hopefully this example will help with that!

description: Display and annotate time-lapse microscopy in Neuroscience

examples_config:
created: 2024-11-21
Copy link
Contributor

Choose a reason for hiding this comment

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

Reminder to update it before merging.

"id": "f0de8be5-81d9-4755-b7aa-afbacd5166e3",
"metadata": {},
"source": [
"For example, a dynamic process of interest could be [neural action potentials](https://en.wikipedia.org/wiki/Action_potential), and the data might come from a [miniature microscope](http://miniscope.org/)(**see image in this notebook's header**) that captures the change in fluorescence of special proteins caused by electrochemical fluctuations indicative of neuronal activity. These video-like datasets often contain many more frames in the 'Time' dimension compared to the number of pixels in the height or width of each frame.\n"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"For example, a dynamic process of interest could be [neural action potentials](https://en.wikipedia.org/wiki/Action_potential), and the data might come from a [miniature microscope](http://miniscope.org/)(**see image in this notebook's header**) that captures the change in fluorescence of special proteins caused by electrochemical fluctuations indicative of neuronal activity. These video-like datasets often contain many more frames in the 'Time' dimension compared to the number of pixels in the height or width of each frame.\n"
"For example, a dynamic process of interest could be [neural action potentials](https://en.wikipedia.org/wiki/Action_potential), and the data might come from a [miniature microscope](http://miniscope.org/) (**see image in this notebook's header**) that captures the change in fluorescence of special proteins caused by electrochemical fluctuations indicative of neuronal activity. These video-like datasets often contain many more frames in the 'Time' dimension compared to the number of pixels in the height or width of each frame.\n"

"### App Versions\n",
"We will build three different visualization approaches to cater to different use cases:\n",
"\n",
"1. **Basic Viewer:** A one-line application using `hvPlot` for quick visualization of the image stack.\n",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"1. **Basic Viewer:** A one-line application using `hvPlot` for quick visualization of the image stack.\n",
"1. **Basic Viewer:** A one-line application using [hvPlot](https://hvplot.holoviz.org/) for quick visualization of the image stack.\n",

"We will build three different visualization approaches to cater to different use cases:\n",
"\n",
"1. **Basic Viewer:** A one-line application using `hvPlot` for quick visualization of the image stack.\n",
"2. **Intermediate Viewer with Side Views:** Uses `HoloViews` for additional interactive elements, scalebars, and linked side views, aiding better navigation of the image stack and identification of regions of interest.\n",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"2. **Intermediate Viewer with Side Views:** Uses `HoloViews` for additional interactive elements, scalebars, and linked side views, aiding better navigation of the image stack and identification of regions of interest.\n",
"2. **Intermediate Viewer with Side Views:** Uses [HoloViews](https://holoviews.org/) for additional interactive elements, scalebars, and linked side views, aiding better navigation of the image stack and identification of regions of interest.\n",

"\n",
"1. **Basic Viewer:** A one-line application using `hvPlot` for quick visualization of the image stack.\n",
"2. **Intermediate Viewer with Side Views:** Uses `HoloViews` for additional interactive elements, scalebars, and linked side views, aiding better navigation of the image stack and identification of regions of interest.\n",
"3. **Advanced Viewer with Annotations and Linked Timeseries:** Building from the intermediate `HoloViews` viewer, this version adds annotation capabilities using `HoloNote`, allowing for interactive spatial annotations with linked timeseries.\n",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"3. **Advanced Viewer with Annotations and Linked Timeseries:** Building from the intermediate `HoloViews` viewer, this version adds annotation capabilities using `HoloNote`, allowing for interactive spatial annotations with linked timeseries.\n",
"3. **Advanced Viewer with Annotations and Linked Timeseries:** Building from the intermediate `HoloViews` viewer, this version adds annotation capabilities using [HoloNote](https://holonote.holoviz.org/), allowing for interactive spatial annotations with linked timeseries.\n",

"source": [
"### Working with Annotations\n",
"\n",
"How to add new annotations: \n",
Copy link
Contributor

Choose a reason for hiding this comment

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

You could also remind the reader or let them know that there's a video that shows how it's done, once watched it all becomes much easier as the UX of HoloNote isn't super intuitive.

"cell_type": "markdown",
"id": "c8d52e0c-eac2-429d-8658-f8ad17c2cfb1",
"metadata": {},
"source": [
Copy link
Contributor

Choose a reason for hiding this comment

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

As done before, it'd be nice to show the end state of the app here, so the reader can better approach where this is going.

"id": "c8d52e0c-eac2-429d-8658-f8ad17c2cfb1",
"metadata": {},
"source": [
"In the final version, we'll add annotation capabilities using `HoloNote` and link these annotations to timeseries plots of mean intensity over time.\n"
Copy link
Contributor

Choose a reason for hiding this comment

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

I missed a little bit of neurosciency narrative here (even if I don't necessarily understand it!), what are we annotating and why?

" tools=['hover', 'crosshair'],\n",
" toolbar='right',\n",
" apply_hard_bounds=True,\n",
" scalebar=True,\n",
Copy link
Contributor

Choose a reason for hiding this comment

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

There's no scalebar displayed at all in fact? Bug maybe?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok the test data size is slightly more than 4MB. I guess that's fine but we have to be careful with the size of these files (all files in general), as test data files for previous projects were smaller.

Copy link
Contributor

Your changes were successfully integrated in the dev site, make sure to review the pages of the projects you touched before merging this PR.

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.

2 participants