@pnpm/meta-updater
added to project- Added support for loading stacked TIFFs to the Multi TIFF loader.
- Added 10x Xenium to the "In Action" page
- Fix visualization of interpolation at highest level to be pixelated in
MultiscaleImageLayer
after breaking in deck.gl 8.8
- Upgrade deck.gl to 8.8
- Use correct deck.gl 8.8
getTileData
args. - Replace
postversion
script withversion
script for CI release. - Remove
package-lock.json
from root (since we use pnpm) - Update HTTP response check to
!==200
inavivator/utils.js
, and changed variable nameisOffsets404
toisOffsetsNot200
- Fix
onHover
function inVivViewer
after deck.gl 8.8 upgrade.
- Added support for loading multiple single channel TIFFs.
- Update doc strings for
loadMultiTiff
- Update release notes in
README.md
- Migrate to pnpm monorepo
- Fix all image URLs in README
- Only run CHANGELOG action on pull_requests
- fix(main): image URLs in README
- test release (v0.13.0-alpha.0)
- add
postversion
script topackage.json
- See documentation for a description of the newly added 3D extensions and how they work.
- Refactor 3D rendering to use extensions just like 2D.
- Support passing in additional layers to VivViewer through deckProps
- Log errors for loading in Avivator
- Fix casting bug for
Float64
- Disable
Pool
usage temporarily in Avivator due to broken Worker module - Also disable
Pool
temporarily in Avivator forFile
OME-TIFF sources - Update ciatation in README
- Add CITATION.cff
- Separate Journal and Software citation information.
- Migrate off
geotiff
fork to latest release fromgeotiff/geotiff.js
- Bump
deck.gl
to 8.6.7 - Fix custom
BitmapLayer
compilation issue by providingextensions: []
- Fix geotiff file size check, implemented when fixing 416 issue. Not all servers return file size as part of response.
- Upgrade geotiff fork to viv-0.0.3 to resolve 416 issue
- Disable
@vite/plugin-react
for ESM build
- Fix multi-image tiff indexing.
- Change
ScaleBarLayer
to usetoPrecision
instead of string cutoff.
- Fix "Add Channel" and "Show Volume" buttons in Avivator
- New note about port-forwarding to visualize remote data in the tutorial README
- Setup workflow to deploy Avivator via GitHub Pages.
- Support multiple images within an OME-TIFF file
- Add note about Safari not working with
localhost
connections.
- Fix image links in README.md.
- Add extensions to docs.
- Fix broken GH-pages workflow.
- Fix exported types for Viv v0.12.
- Fix selection callbacks.
- New
LensExtension
for controlling lensing on layers as a deck.gl extension- props like
lensBorderRadius
no longer used directly by the layer in favor of using theextensions
prop with newLensExtension
in connjunction with these props. So, to be able to use the lens feature, you must pass in the old props as well as theLensExtension
toextensions
.- See https://deck.gl/docs/developer-guide/custom-layers/layer-extensions for more information on how to use
extensions
and what they are
- See https://deck.gl/docs/developer-guide/custom-layers/layer-extensions for more information on how to use
- props like
- Expose
DECKGL_FILTER_COLOR
,DECKGL_PROCESS_INTENSITY
, ANDDECKGL_MUTATE_COLOR
hooks and document them. - Upgrade deck.gl to 8.6
extensions
are now the main way for controlling how shaders render the imageLensExtension
,ColorPaletteExtension
, andAdditiveColormapExtension
are exported fromviv
to be used mutually exclusively for controlling how the fragment shader renders. TheColorPaletteExtension
is used by default and provides the normal one color per channel pseudo-coloring.AdditiveColormapExtension
provides colormaps likeviridis
,jet
and more. There have been slight changes to the props so please see the docs for more infomation.- These extensions are mutually exclusive and only available for 2D layers - for example you will need to add something like the following to your 2D layers for compatibility
extensions: (colormap ? [ new AdditiveColormapExtension(), ] : [ new ColorPaletteExtension(), ])
- Add
@data
alias for serving local data during development - Add Avivator video tutorial to README.md
- Support basic OME-NGFF in Avivator
- Add support for the
multiscales[].axes
field introduced in OME-NGFF v0.3 - Bump zarr.js to get support for both
/
and.
dimension separators - Add
onResolutionChange
callback and resolution indicator in Avivator
- Remove special selection mechanism in
Viewers
/Views
by using deck.gl's fixedTileLayer
capabilities for caching the tileset. - Fix
SAMPLES.md
demo - Update tutorial
- Clean up README.md with latest additions to Viv
- Bold format names in README
- Add description of "Indexed TIFF" to Avivator snackbar warning when offsets are missing
- Refactor
zustand
stores to follow best practice in Avivator. - Fix
onViewportLoad
callback forMultiscaleImageLayer
- There has been a small change to how
transparentColor
is handled -useTransparentColor
is now necessary forAdditiveColormapExtension
andColorPaletteExtension
to use the feature in addition totransparentColor
forColorPaletteExtension
. The truthiness oftransparentColor
is no longer relied on.
- Change API for all public props
sliderValues
->contrastLimits
colorValues
->colors
channelIsOn
->channelsVisible
loaderSelection
->selections
MAX_SLIDERS_AND_CHANNELS
->MAX_CHANNELS
- Upgrade
Vite
to~2.5.4
- Fix value-picking for
VivViewer
. glOptions
is removed in favor of a generaldeckProps
for Viewer components for all props that can be passed to theDeckGL
component.
- Upgrade deck.gl to 8.5
- Update fork of geotiff.js
- Fix changelog check in
bash
. - Update README to note Node version restrictions.
- Maintain the value of the channel color in HSV when applying intensity (3D + 2D)
- Fix documentation for React Components.
- Fix documentation for TypeScript exports.
- Fix channel stats for thin 3D volumes in Avivator.
- Better checking for viewable volumes at certain resolutions.
- Don't do RGB-HSV conversion on shaders. Instead, scale RGB linearly.
- Consistent shader floats
n.0
->n.
- Pin deck.gl to minor versions
- Fix Galaxy note in the README.md.
- Fix interleaved RGB issue in Avivator when setting up viewer initially.
- Make OME-TIFF loader use a
guessTileSize
function just like the zarr loaders in order to handle pyramids that are not tiled, just downsampled. - Don't use
changeFlags
forupdateState
prop diffing. - Fix broken decoder Pool. Remove pool proxy.
- Replace Webpack & Rollup with Vite for development & build.
- Add in-layer warning about WebGL1 to
VolumeLayer
.
- Remove unneeeded
VolumeButton.js
file. - Make sure loading message reappears if the resolution changes.
- Pass
glOptions
from the viewers toDeckGL
- Fix WebGL1 Float + LINEAR combination in
XRLayer
- Log metadata for current file in Avivator.
- Fix viewer props docs.
- Fix lens in Avivator +
ImageLayer
.
- Add
VolumeView
,VolumeViewer
,VolumeLayer
, andXR3DLayer
classes for volumetric ray casting. - Add screenshots to README.md
- Allow users to choose
LINEAR
orNEAREST
interpolation filtering forXRLayer
.
- Fix bug in
getChannelStats
where we only considered values over 1 for the sliders - Fix bug in
getChannelStats
where array of zeros passed in causes undefined slider settings - Check all properties in
onHover
to avoid crashes - Check for dependabot before running CHANGELOG checks
- Make default setting for
MutliscaleImageLayer
for interpolation to beNEAREST
at highest resolution,LINEAR
otherwise.
- Fix
VivViewer
andVivView
types. - Fix
ImageLayer
loader
type. - Refine
LayerProps
JSDoc annotations for more precise emitted types. - Fix
Avivator
andgetImageLyaers
utility forloaderSelection
that is empty array.
- Refactor JSDoc comments to properly annotate Layer classes with constructor signatures.
getChannelStats
in snippet to show how to use it.
- Fix interleaved RGB image handling.
- Add test for interleaved RGB images.
- Upgrade geotiff.js to fix geotiffjs/geotiff.js#214
- Support
Float64
(OMEdouble
) datatype by casting array data toFloat32
. onHover
prop forVivViewer
,PictureInPictureViewer
,SideBySideViewer
for deck.gl callback.- Add
handleCoordnate
hoverHook
for PIP.
- Make deck.gl a peer dependency (similar to React).
- Remove
trimPyramid
and require declaration oftileSize
inZarrPixelSource
.
- Export
defaults
fromtiff/pixel-source.ts
andzarr/pixel-source.ts
asTiffPixelSource
andZarrPixelSource
. - Copy array-like selection for
ZarrPixelSource
rather than mutating. - Fix scale bar bug in
View
to match new loaders.
onViewportLoad
prop forImageLayer
for handling when the data for the viewport has loaded.
- Fix z-slider broken by transition fields.
- Upgrade deck.gl to 8.4.0-beta.1 to handle aborting tiles after selection better.
- Rewrite data loaders as
PixelSource
|PixelSource[]
. IntroduceZarrPixelSource
andTiffPixelSource
to support other types of images. Migratesrc/loaders
to TypeScript. - Add
loadBioforamtsZarr
,loadOmeZarr
, andloadOmeTiff
utilities. - Add predictive, fully typed OME-XML response from
fast-xml-parser
. - Upgrade Zarr.js to v0.4.
- Remove casting of Int8Array, Int16Array, and Int32Array to Uint. Support texture on shader.
- Document support for
bfconvert
as a cli tool for generating image pyramids as well as the new pyramidal tiff spec. - Issue templates for Github.
- Add
transparentColor
to allow the layer to set a color to be "transparent" (or use the automatically calculated one when colormaps are set).
- Adjust the zoom level for tile layer if scaled.
- Update
getDefaultInitialViewState
to return floating point zoom that fills the screen by default. - Upgrade geotiff to fix out-of-range requests issue.
- Changed
initialViewState
toviewState
inPictureInPictureViewer
and toviewStates
in the other viewers. The new properties control the deck.gl view state at any time and not just when the components are created. - Fix
maxZoom
bug. - Smooth transitions for global selection changes.
- GH actions allow for running on PR as well as push (so that forked repos run tests).
- Fix opacity with photometric interpretations.
- Only show background image when opacity is 1 (and viewport id prop matches that of the current viewport).
- Fix
minZoom
calculation bug inMultiscaleImageLayer
.
- Property
onViewStateChange
of all viewers accepts a callback for deck.gl view state changes. - Add a click handler to the overview that centers the detail view on the click position. The handler can be turned off by setting the
PictureInPictureViewer
propertyclickCenter
tofalse
. - Support interleaved RGB OME-TIFF files.
- Fix documentation of instances where spreading is used in the arguments for a function.
- Fix link to bioformats in README
- Export a
getDefaultInitialViewState
function for getting a default initial view state given a loader and desired size of view. - Added a README file for Avivator at
avivator/README.md
.
- Fix default component args API.
- Change WebGL setting so that textures of non-multiple-of-4 length bind and display.
- Update preprint title in README.md
- Use
readRasters
for TIFF for fetching tiles so that we are robust to non-uniformly sized tiles - thus we no longer need to "pad tiles." - Switch to Github Actions
- Don't show snackbar if image provided is one of our demos.
- Support arbitrary affine transformations of
MultiscaleImageLayer
.
- Clean up docs for OME-TIFF creation.
- Remove OMETIFF_LOADING.md docs.
- Upgrade deck.gl to 8.4.0-alpha.2.
- Remove
scale
andtranslate
fromImageLayer
and its usages in favor ofmodelMatrix
.
- Fix snackbars for errors and initial image.
- Export custom zarr
HTTPStore
with abort controller signal support. - Modularize shaders using deck.gl shader modules.
- Provide pure ESM export of Viv and use separate build for Avivator
- Downgrade react back to 16.8
- Support local tiff files.
- Support local zarr directories.
- onClick callbacks for layers.
- Removed greedy matching of dimension order in Bio-Formats Zarr output. Just check if OME-Zarr.
- Upgrade to deck.gl 8.3.0
- Use WASM LZW decoder from
manzt/geotiff.js
- Bundle UMD build with deps.
- Add snackbar for included images when no url provided.
- Fix snackbar placement.
- Fix small range, float sliders.
- Clean up dependencies from migration.
- Fix small dif between sliders in shaders.
- Fix lens and PIP.
- Lens view built into layers.
- Add avivator.
- Update docs for avivator.
- Upgrade geotiff.js to Ilan's branch for large string fix.
- Updated the font family for the
ScaleBarLayer
's internalTextLayer
. - Guarantee that
OverviewLayer
shows an image by forcing it to be a power of 2.
- Pad OME-TIFF tiles using both height and width in the calculation.
- Thanks to deck.gl 8.2, we have a request scheduler which makes fetching tiles more efficient.
- Use WebGL context to detect what shaders and textures to use, not whether WebGL2 is available on environment
document
. - Fix link in
IMAGE_RENDERING.md
and removeimg2zarr
reference since it has been depricated. - Upgrade deck.gl to 8.2.
- Export
XRLayer
. - Fix OMEXML 32 bit float parse error.
- Move back on to geotiff full releases.
- Change geotiff fork branch to work with downstream installations.
- Fix shaders divisor for intensity.
- Support Safari in 2D raster imagery.
- Support height as primary dimension for sizing OverviewView.
- Add preliminary RGB check.
- Add doc giving an overview of our API structure.
- Project overview boundary sizes instead of hardcoding.
- Default demo color is now magenta and not red.
- Remove Safari browser warning in docs.
- Export constants for loader type and max channels.
- Min/max, mean, standard deviation, median, IQR calculations directly from loaders.
- Don't minify es bundle.
- Remove bioformats hack and update docs for container version.
- Update zarr with new decoders.
- Add tile-padding utility function for consistently sized tiles from
Loader.getTile
. - Fix #144 by padding uneven length tiles in
StaticImageLayer
.
- Address OMEXML discrepancy on StructuredAnnotations.
- Clean up dependencies.
- Add OME-TIFF to Covid-19 data description.
- Clean up the docs.
- Allow numeric indexing on OME-TIFF loader.
- Allow for headers with OME-TIFF.
- Add COVID-19 Image to public demo.
- Added
getMetadata
function toZarrLoader
andOMETiffLoader
classes to enable Vitessce to obtain human-readable image layer metadata.
- Change bioformats padding check.
- Pad based on textures and not channel props.
- Allow for offsets in OMETiffLoader for
bioformats6
pyramids. - Update geotiff off from Ilan's for to the official release.
- Remove threads.js and use WebWorkers for tiff decompression.
- Add a dimension builder onto the tiff loader.
- Add hover values for PictureInPictureViewer
- Removed
loader.serializeSelection
and standardizedloaderSelection
forgetTile
andgetRaster
- Fix loaderSelection fetching on
StaticImageLayer
- OMETiffLoader for reading ome-tiff files directly
- Add scale bar (only for OMEXML for now)
- New classes for views/viewers
- Zoom/pan lock buttons and linked views in demo
- Refactored VivViewer to take in arbitrary views/layers
- Check for
loader.getRaster
inVivViewerLayer
before renderingStaticImageLayer
base
- Add
loaderSelection
as prop forVivViewerLayer
. This parameter is passed toloader.getTile
andloader.getRaster
in addtion tox
,y
andz
. - Display warning for Safari users
- Refactored demo to allow various channels and change selection
- Use reducer for handling channel state in Demo
- Use Material UI for demo components, and showcase all viv features
- Update the IMAGE_RENDERING doc
- Add background image for nicer loading and temporary fix for minZoom issue
- Add getRaster to TiffPyramidLoader
- Picture-in-picture overview layer
- Generalize colormaps to multichannel maps.
- Add flags to check for loader change and rerender.
- Remove minZoom from loaders and make loaders provide
onTileError
. - Wrap
channelData
inStaticImageLayer
in Promise. - Allow no
viewportId
parameter
- Fixed shaders' if-then
- Changed UMD build name to be valid
- Provide default args for
scale
andisRgb
increateZarrPyramid
. - Remove unneeded attributes from
TiffPyramidLoader
.
- Update deck.gl build
- Bump
zarr.js
tov0.2.3
- Set raster selection on data loader class
- Add
test:watch
to npm scripts.
- Clean up shaders
- Extracted data utils to loaders and refactored demo
- StaticImageLayer added and exported for viewing non-tiled images
- Single channel colormaps for tiled and static
- Expose opacity and visibility
- Testing for layers added
- More automated build process
- Update build process to use rollup
- Remove sort
- New zarr API and standardize data utilities
- Fix brightness from channel toggling
- Removed
Microscopy
from export names - Consolidated data access logic to data-utils
- Refactored
microscopy-viewer-layer-base.js
- Fix toggling defaults for sliders and colors when channels are off.
- Resolve linting
- Update demo switching
- Add channel-toggling
- Simplify API for TIFF by inferring metadata from file
- Clean up vertex shader
- Fixed no-unused-expressions
- Anti-aliasing for the borders implemented.
- Prettier on CI will now actually scan all files.
- Automate Deployment
- Add slider names corresponding to metadata in demo
- Linting and Travis integration. Apply prettier to everything. (Ignore most ESLint errors for now
- Fix no-extraneous-dependencies
- Fix global-require