-
Notifications
You must be signed in to change notification settings - Fork 30
Mass plotting notebook #1052
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
Mass plotting notebook #1052
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Not sure why the other checks (testing, building) are not being displayed. They are running here: https://github.com/angelolab/ark-analysis/actions/runs/6030848048?pr=1030 |
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.
Code looks good but a couple general comments.
- There seems to be some visualizations missing from the two LDA and the fiber segmentation notebooks.
- Also the multicolored borders on the example plot you posted can be removed by setting
interpolation=None
. (#967) I see it's included for the non-continuous plotting, but is it working when saving the images?
Yeah I see they got cut off.
Ah, it has to be the string |
…xie (#1051) * Drop cells without any SOM cluster expressions * Add testing for dropping non-expressed cells
* Ensure mantis can read the image sub folder specified * Test on example dataset * Default img_sub_folder to None in create_mantis_dir (standard used elsewhere) * Doc fix and updated example dataset * Update segmentation labels again * Clarify img_sub_folder (mostly for refreshing tests) * Force .github/get_example_dataset.py to use updated revision * Update the file names to look for
* pin to 0.19.3 * requirement less than 0.19.3
…o helper functions (#1058) * Propagate overwrite functionality for pixel clustering * Ensure re-normalization prevented on overwrite for pixel SOM re-assignment * normalize_data should be the opposite of overwrite
* single mantis dir, no recopying * post clustering mask suffix * generic clustering adjustments * mask prefix * remove mask prefix
…n GHA, the CI workflow should work
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.
Looks good!
@@ -246,7 +247,7 @@ def calculate_fiber_alignment(fiber_object_table, k=4, axis_thresh=2): | |||
# find index for smallest distances, excluding itself | |||
indy = fiber_dist_mat[indx, :].argsort()[1:1+k] | |||
neighbor_angles = filtered_lengths.orientation[indy] | |||
fiber_scores.append(1 / (np.sqrt(np.sum((neighbor_angles - angle) ** 2)) / k)) |
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.
How come this was changed?
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.
In the function color_fibers_by_stat
we take the inverse of the alignment score again in order to plot it. Cami suggested that we just remove the inversion entirely.
@@ -854,7 +854,7 @@ | |||
" xr_channel_names=None,\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.
Line #11. plot_utils.plot_pixel_cell_cluster(
You should check with Candace if she wants this to default to erode=True or False. I think the cell masks look better eroded.
Reply via ReviewNB
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.
Got Candace's approval for cell mask erosion in the Pixie Pipeline notebooks.
View / edit / reply to this conversation on ReviewNB ngreenwald commented on 2023-09-14T18:11:03Z We should clear this output |
View / edit / reply to this conversation on ReviewNB ngreenwald commented on 2023-09-14T18:11:06Z Does the example dataset cell table have multiple different clustering columns? Or just one? If it has multiple, we should use the one that has broader cell type definitions, so there are fewer different clusters srivarra commented on 2023-09-14T18:45:07Z I believe there is only one metacluster column. |
View / edit / reply to this conversation on ReviewNB ngreenwald commented on 2023-09-14T18:11:07Z Looks great |
I believe there is only one metacluster column. View entire conversation on ReviewNB |
…leaned up some notebook outputs
* plot_cluster Next Release v0.6.4 (#1012) * 0.6.4 * updated environment.yml * Update README.md * updated windows setup docs * added repo verison in git clone * file fix Deepcell upload loop cleaning (#1023) * loop check for successful deepcell upload * update test zip paths * helper functions pls * zip input, upload, and extract per batch * cleaning * docstring indent * fov -> fovs file name * remove overwrite warning * new dir for each test call * fix bad logic warning testing * remove arg from docstring * add helper function test * batch_num start at 1 * add previously processed warning * set timeouts and scrap retry * correct timeout errors and update tests * timeout 5 mins * add to unprocessed list after loop closes * continue loop after extraction * break instead of continue * skipped processing print fixes * adjust print statements * 3 seconds before second zip call update * updated readthedocs python version * updated plot_utils docstring * docstrings v2 * use GS [1,1] if cbar_visible is False, otherwise use GS [1, 2] for plot + colorbar * added cbar_visible T/F for tests * pycodestyle * added numpy list to cmap / norm function * Remove cells that don't have any pixel clusters expressed prior to Pixie (#1051) * Drop cells without any SOM cluster expressions * Add testing for dropping non-expressed cells * Include `img_sub_folder` as parameter in Mantis calls (#1050) * Ensure mantis can read the image sub folder specified * Test on example dataset * Default img_sub_folder to None in create_mantis_dir (standard used elsewhere) * Doc fix and updated example dataset * Update segmentation labels again * Clarify img_sub_folder (mostly for refreshing tests) * Force .github/get_example_dataset.py to use updated revision * Update the file names to look for * Update HuggingFace version (#1053) * v0.1.10 (#1057) * Pin to scikit-image to v0.19.3 (#1060) * pin to 0.19.3 * requirement less than 0.19.3 * Make sure overwrite functionality for pixel clustering propagates into helper functions (#1058) * Propagate overwrite functionality for pixel clustering * Ensure re-normalization prevented on overwrite for pixel SOM re-assignment * normalize_data should be the opposite of overwrite * Single mantis directory (#1061) * single mantis dir, no recopying * post clustering mask suffix * generic clustering adjustments * mask prefix * remove mask prefix * Mass plotting notebook (#1052) * added plotting notebook * updated readmed * git merge issues * git merge fixes v2 - docs/landing.md * type * Remove cells that don't have any pixel clusters expressed prior to Pixie (#1051) * Drop cells without any SOM cluster expressions * Add testing for dropping non-expressed cells * Include `img_sub_folder` as parameter in Mantis calls (#1050) * Ensure mantis can read the image sub folder specified * Test on example dataset * Default img_sub_folder to None in create_mantis_dir (standard used elsewhere) * Doc fix and updated example dataset * Update segmentation labels again * Clarify img_sub_folder (mostly for refreshing tests) * Force .github/get_example_dataset.py to use updated revision * Update the file names to look for * fixed clipped plots in the notebooks. * Update HuggingFace version (#1053) * v0.1.10 (#1057) * Added continuous variable segmentation plots * Pin to scikit-image to v0.19.3 (#1060) * pin to 0.19.3 * requirement less than 0.19.3 * Make sure overwrite functionality for pixel clustering propagates into helper functions (#1058) * Propagate overwrite functionality for pixel clustering * Ensure re-normalization prevented on overwrite for pixel SOM re-assignment * normalize_data should be the opposite of overwrite * Single mantis directory (#1061) * single mantis dir, no recopying * post clustering mask suffix * generic clustering adjustments * mask prefix * remove mask prefix * strange merge issue * removed branch filters on CI, so if you branch off of a branch and run GHA, the CI workflow should work * changed ci.yml, filter push on main branch only * python 3.9 doesn't support | for Union type overloading * added fovs parameter for continuous variable plots * updated notebook to include plots * updated cell clustering notebooks to add erosion (default to True), cleaned up some notebook outputs * fixed style imports * re-added test_generate_summary_stats. Was accidently deleted in a refactoring step. * newline at eof fiber_segmentation_test.py * seaborn-paper -> seaborn-v0_8-paper * added cell to view all plotting styles i mask gen nb * pycodestyle --------- Co-authored-by: alex-l-kong <31424707+alex-l-kong@users.noreply.github.com> Co-authored-by: camisowers <38049893+camisowers@users.noreply.github.com> * default ero * added erode=True for generate_cluster_mask --------- Co-authored-by: alex-l-kong <31424707+alex-l-kong@users.noreply.github.com> Co-authored-by: camisowers <38049893+camisowers@users.noreply.github.com>
If you haven't already, please read through our contributing guidelines before opening your PR
What is the purpose of this PR?
Adds a notebook that demonstrates how to generate plots for a cohort.
Adds functionality to plot a continuous variable.
For cluster mask plots, adds the ability to erode the segmentation mask boundaries to improve the readability of cells.
How did you implement your changes
Added a notebook which allows the user to plot cluster masks and continuous variables for a cohort.
Remaining issues
May have accidentally ran a formatter in the
plot_utils.py
file.This branch needs to be first merged into #1030. Then that will be merged into
main
.Sample Plots