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

Merge recent changes from master into girder-5 #1799

Merged
merged 60 commits into from
Jan 31, 2025

Conversation

naglepuff
Copy link
Collaborator

No description provided.

annehaley and others added 30 commits January 14, 2025 18:21
Automatically set the JUPYTER_PROXY value
Expose the channelNames property in all tile sources
The speed up is achieved by have a special case for palettes that have
two entries with the first entry 0 and for conditions where no mask is
required.

Slightly speed up source comparison
Before, the repr of a large_image tile source was something like
`OpenslideFileTileSource ('/data/samplefile.svs', 'JPEG', 95, 0, 'raw',
False, '__STYLESTART__', {'bands': [{'band': 1, 'palette': 'white'}]},
'__STYLEEND__')`.  Now, this is
`OpenslideFileTileSource('/data/samplefile.svs', style={'bands':
[{'band': 1, 'palette': 'white'}]})`, which could actually be used to
open the tile source again.  If the class is unpickleable (for instance,
a vips tile sink), the repr is surrounded by `<>` to indicate this.

As an added feature, `__rich_repr__` has been added to make the results
prettier for those using the rich text library.
Better repr of large_image classes
annehaley and others added 28 commits January 24, 2025 18:49
Get unstyled histograms for the jupyter component.
Based on reading the gdal and omero test data sets, list extensions for
a few sources that were not listed by the originating libraries.
List a few more known extensions for different sources
Better detect multiframe images in PIL
Check that aiohttp is present in Jupyter environments
Tweak a few css values to make it easier to integrate in other libraries
Fix multiple histogram queries in Girder frame selector
Improve how we use vips to read lower tile levels
If a source image was not uint8 or uint16 we used the full range of the
datatype for some of the conversion, but, to maximize compatibility, we
always output either uint8 or uint16 pixels.  In a sample image that was
stored in int32 but only had pixels with values 0, 1, 2, this resulted
it scaling the output by (val * 2 ** -16) + 2 ** 15, but in that
resulted in all output pixels having the value of 32768.

Now, we check the range of all frames of an image first, and try to
intelligently pick a datatype and scaling based on the actual range of
the data.  This will still be wrong in some instances, but should at
least result in visible images.
Be more specific in casting when converting images via vips
Specifically, the height reported for a unloaded tile that had been
scaled was reporting the width instead.
Fix an issue with lazy tiles that have non power of two scaling
@naglepuff naglepuff merged commit 9587bed into girder-5 Jan 31, 2025
17 checks passed
@naglepuff naglepuff deleted the girder-5-update-20253101 branch January 31, 2025 22:17
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