Sign in

Loïc A. Royer 💻🔬🧪

@loicaroyer.bsky.social
4K followers 2.8K following 286 posts

Sr. Director of Imaging AI @biohub. Researcher at the meeting point of #AI, #Microscopy, and #Biology using #zebrafish as model — co-creator of @napari_imaging and #Omega. #devbio #zebrahub #deeplearning #lightsheet #Imaging #dataviz

PostsRepliesMedia
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 9h
Very easy: first, it is all open source and documented. Second, just use Claude Code, just explain you want to create a visualisation of some data (explain where it is) using Luxar, brainstorm, ask it to ask you questions and let it do the work. All the 88 demos were done like that.
000
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
P.S. I lied: it's not my first. 🙃 During my PhD in Dresden, I built EvoWorms, an interactive installation simulating evolution: each worm has a 10-gene genome, and your movements feed or poison them. Natural selection does the rest. 🧬 vimeo.com/79194307
vimeo.com
EvoWorms - Simulating Evolution (Music Enhanced)
Each worm has a genome of 10 genes which control its characteristics, such as mutation rate, longevity, movement, and chemotaxis. Their shape and colors reflect their genome. Your movement causes a chemical to be released in their environment. When the screen is blue the chemical is beneficial. When the screen is red the chemical is toxic. Move and see how this changing environment affects the worms! See how different environmental niches drive diversity, how natural selection shapes the worms characteristics, and how extinction events followed by a favorable environment lead to a loss of genetic diversity (Founder effect). Have fun! Music: Casiotone Waltz by Nic Bommarito (http://nicbommarito.com/music.html)
050
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
One more thing… 👀 In the next room, @ilan-theodoro.bsky.social ran a second demo: petascale microscopy of zebrafish from labs across Biohub, flown through live with a joystick. More on that one very soon. 🐟🔬
140
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
To Ilan da Silva Theodoro (@ilan-theodoro.bsky.social), Javier Carmona, Vera Janssen (@verajanssen.bsky.social) and Thibaut Goldsborough: thank you for presenting the demos with me and telling these stories to visitors all day. 💙
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Huge thanks to the Biohub marketing, brand and events teams who made it real, among them Anna Ziskin, Erin Pierce, Stephanie Warner and designer Rebekah Atwell; and to Mary Pat Kasravi, Stephanie Gardea, Travis Bill and the 15|40 team who produced the demo hall.
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Not a one-off: the whole installation, twenty stories and every camera flight, is one Python file 👇 github.com/royerlab/lu... A coding agent + Luxar + your data = your own interactive universe.
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
It's built with Luxar, our open-source viewer for big scientific data: microscopy, cell atlases, connectomes, galaxies, ocean currents… and now, it turns out, art. 🎨 pip install luxar Code: github.com/royerlab/luxar Preprint: doi.org/10.64898/20...
github.com
GitHub - royerlab/luxar: Compile and explore arbitrarily large n-dimensional scientific data in the browser — points, lines, Gaussian splats and meshes, streamed from Zarr and rendered on the GPU.
Compile and explore arbitrarily large n-dimensional scientific data in the browser — points, lines, Gaussian splats and meshes, streamed from Zarr and rendered on the GPU. - royerlab/luxar
101
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Couldn't make it to the Mint? The whole installation, all twenty stories, runs in your browser: 👇 demos.luxarviewer.dev/d/esm_prote...
111
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
The universe itself is the ESM Atlas, from the ESM team at @biohub.org: Sal Candido, Alex Rives and colleagues (Candido et al. 2026). An extraordinary map of protein space, and a joy to bring to life. Thank you! 🙏 Paper: doi.org/10.64898/20...
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Twenty stories in all: photosynthesis, RuBisCO, ATP synthase, the phage universe, CRISPR, ice-binding proteins, the three ways animals invented smell, and TnpB, the jumping-gene nuclease that the Cas12 gene editors grew out of. ✨
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Visitors touch a story on the kiosk and the camera flies across the universe to it: the family lights up, a soap bubble wraps around it, its structure spins, and the facts appear. 🫧
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Most of those sequences come not from organisms grown in a lab, but straight out of soil, seawater and guts. One cluster in four has no characterised member at all. That's the dark proteome, glowing behind me. 🌌
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
What you're looking at: each point is a family of proteins that ESM, a protein language model, reads as alike. Together they stand for 817 million proteins. 🧬
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
My first digital media art installation. 🎨 The ESM Protein Universe: 7.7 million protein families from 6.8 billion sequences, on a 16×16 ft wall at @biohub.org's AI × Bio Summit, at the Old Mint in San Francisco. 🧵👇
1150
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
And the day itself: Biohub's AI × Bio Summit at the Old Mint in San Francisco put biologists, AI researchers, engineers and funders in one room. Congratulations to the Biohub team for the leadership in bringing this community together, for the benefit of all of us. 🙏
010
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
Joining them: Google DeepMind, Isomorphic Labs, Meta, NVIDIA, @alleninstitute.org, @broadinstitute.org, @gladstoneinst.bsky.social, @humancellatlas.org, @proteinatlas.bsky.social, @sangerinstitute.bsky.social and more. The biggest coordinated push yet for open, AI-ready biological data.
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 08/10/2026
What a day! 🎉 @biohub.org, @departmentofenergy.bsky.social and NIH just announced $1.8 billion for the Virtual Biology Initiative: open, AI-ready data for models that predict how cells respond to disease and treatment. 🧬🤖 biohub.org/news/virtua...
biohub.org
International, cross-sector collaboration commits nearly $2 billion to build foundational data for AI models to predict and treat disease
Biohub, DOE, NIH, and partners will generate open, standardized data to train AI models that predict how cells respond to interventions.
170
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
And thank you to Walter Reade, María Cruz and the whole @kaggle.com team for running it with us, and to every participant who spent these past months staring at zebrafish nuclei. 🐟💙
160
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
Huge thanks to the @biohub.org team who built this challenge: Thibaut Goldsborough, @jookuma.bsky.social, @xiang-zhao.bsky.social, Gordon Leary, @teunhuijben.bsky.social, @ilan-theodoro.bsky.social, @kyleharrington.com and Chi-Li Chiu. 🙏
120
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
What's next: an in-person Cell Tracking Workshop at Biohub in Redwood City, Nov 30 to Dec 3, bringing the tracking and bioimaging community together, with our prize winners invited. Time to compare notes and chart where the field goes next! 🧬
150
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
It all stays open: CC0 data, winning code under MIT, writeups already up. 1st-place writeup: kaggle.com/competition... Metric code: github.com/royerlab/ka... #OpenScience
github.com
GitHub - royerlab/kaggle-cell-tracking-competition
Contribute to royerlab/kaggle-cell-tracking-competition development by creating an account on GitHub.
130
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
The hidden test set came from different embryos than the training data, and the final leaderboard reshuffled a lot: 2nd place climbed 26 spots, 6th climbed 88. Generalising across embryos is the real challenge, and it's the one that matters in the lab. #BioImageAnalysis
130
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
What won, broadly: • deep detectors that cope with very sparse labels • learned linkers, often transformers • global optimisation (ILP) to assemble lineages (5 of the top 7) • dedicated division models • pseudo-labels, synthetic cells or pretraining to stretch those labels #ComputerVision
140
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
Winner Sergio Alvarez's insight: a newcomer can look at 3 frames and say "this is cell X", so a machine should learn it too. Annotating, he saw that cells about to divide "start jiggling, get brighter, then get bigger and suddenly explode in two." So he built a tiny "Soon Net" to spot them. 🧪
1100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
What impressed us most: it drew in people from outside the field. The winner, Sergio Alvarez, says he "didn't know much about tracking in general, much less cell tracking". For 856 participants it was their first Kaggle competition, and 25 of them finished in the top 100.
190
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
The task: detect every cell in light-sheet microscopy movies of zebrafish embryos, link each one from frame to frame, and catch every division, so that cell lineages can be rebuilt. By node and edge count, it's the largest cell tracking dataset published to date. #Zebrafish #DevBio
161
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
🏆 Congratulations to our prize winners: 🥇 Sergio Alvarez 🥈 Soheil Ayati 🥉 yu4u 4. Barry 5. Tang 6. Cyrus 7. tatsutaka Seven solo entries, and the top score was 0.978.
Final private leaderboard of the Biohub Cell Tracking During Development Kaggle competition, top 7 prize winners: 1 Sergio Alvarez 0.97759, 2 Soheil Ayati 0.97041, 3 yu4u 0.96714, 4 Barry 0.96234, 5 Tang 0.95462, 6 Cyrus 0.95398, 7 tatsutaka 0.95273.
140
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 06/10/2026
🏁 That's a wrap! The @biohub.org Cell Tracking machine learning challenge on @kaggle.com is over: 4,478 participants, 3,947 teams, 120 countries, 95,438 submissions, tracking every cell of zebrafish embryos. 🧪🔬🧵 kaggle.com/competition... #microscopy
110027
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 30/09/2026
It should be easy to add. Can you fill an issue and explain how you would want it to be? I would use an agent to first check whether anything remotely related exists in the codebase, and then file an issue with a proposal for how to do it. Luxar's codebase is 'agent-first' ;-)
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 29/09/2026
The original #Luxar thread is way too long and most people missed most demos, so I will be slow-dripping demos in the next weeks... Here is how you can annotate anything drawn and have text, images, videos overlays displayed on-hover or links opened on-click!
055
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 26/09/2026
Yes, but not in the way tou think about it, you could build a scene today (and upcoming features would simplify that) that has slice rendering. sinply by rendering a mesh at different depths with diff textures. CC would just make it happen for you.
100
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 25/09/2026
amazing!
000
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 25/09/2026
We need CS (Continuous Skills) that get updated automatically at regular intervals...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 24/09/2026
I agree, at this point there is mo point to write python code yourself. Just point the agent to the repo and ask what you want… see below…
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 24/09/2026
The repo has a ton of skills that encode a lot of the know-how for the ~90 demos. None of the demos were written by me, all through claude code. Just have your agent read the skills and check the repo and anything is possible!
010
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
Try it, break it, tell me what you would build with it. pip install luxar Code: github.com/royerlab/luxar Demos: demos.luxarviewer.dev Preprint: doi.org/10.5281/zen... #microscopy #opensource #bioimaging #dataviz
zenodo.org
Luxar: Gaussian splatting for microscopy and scalable interactive web visualisation of multidimensional scientific data
Volumetric microscopy produces datasets too large to share as files and too rich to convey as still images, yet exploring them interactively means installing desktop software or building web infrastructure. Here we present Luxar, an open-source Python framework that compiles multidimensional data into compact archives that any modern browser renders from static file hosting. Fluorescence volumes are represented as mixtures of anisotropic Gaussians (Gaussian splats): the image becomes geometry that the GPU draws directly, with no voxel grid to rebuild. Splats share one scene with points, trajectories and surfaces. Blind-spot cross-validation sets the number of Gaussians without noise-free references. Across 17 volumes from 12 datasets and four modalities, this yields a median 99-fold (6–340-fold) size reduction at 26–67 dB peak signal-to-noise ratio (PSNR), in minutes per volume on one GPU. We demonstrate Luxar on a 500-timepoint embryogenesis recording, super-resolution localisations,
160
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
Thanks to @kyleharrington.com for discussions, to the communities behind Zarr, three.js, @pytorch.org, NumPy and @napari.org, and to @biohub.org for funding this work, with the generous support of Priscilla Chan and Mark Zuckerberg.
150
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
Thanks to the teams behind the public data: OpenCell, FlyLight at Janelia and FISBe, the Cell Tracking Challenge, the Image Data Resource, the Allen Institute for Cell Science, scikit-image, Tabula Sapiens, DESI, Cosmicflows, PDB, HYCOM, Kaggle and more, credited in every scene.
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
Thanks to @merlinlange.bsky.social for the zebrafish recording, to @adrianjacobo.bsky.social and his lab for the neuromast, and to Philipp Keller and @hhmijanelia.bsky.social for permission to share the Drosophila time-lapse as splats.
130
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
Every line of Luxar was designed, generated, debugged, tested with the help of Claude Code: 33,000+ tests across Python, CUDA, TypeScript, Rust and Go, 91% coverage. Pre-AI this was thirty person-years. Analyses, figures and this thread too, under my direction and verification.
230
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
A particle collision, animated through time. Demo: demos.luxarviewer.dev/d/collision...
120
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
A Mandelbulb, because a fractal is a volume too. Demo: demos.luxarviewer.dev/d/mandelbulb
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
A cumulus cloud evolving: a 4D Gaussian-splat volume played in time. Demo: demos.luxarviewer.dev/d/cloud
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
🌌 Cosmicflows-4: the Laniakea supercluster with its velocity streamlines. #dataviz Demo: demos.luxarviewer.dev/d/cosmicflo...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
🐟 Zebrahub: a zebrafish single-cell UMAP with RNA-velocity streamlines, cells as points and flow as lines in one scene. #SingleCell Demo: demos.luxarviewer.dev/d/zebrahub_...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
A cryo-EM density map, the PBCV-1 giant-virus capsid (EMD-5384), as Gaussian splats. Splats are for any scalar field, fluorescence or otherwise. Demo: demos.luxarviewer.dev/d/gsplats_3...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
The same brain, framed: a raw 63x FlyLight tile, every labelled neurite a splat, in its bounding box. Demo: demos.luxarviewer.dev/d/gsplats_3...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
🪰 MultiColor FlpOut neurons of a Drosophila brain (FlyLight, @hhmijanelia.bsky.social) as Gaussian splats, flown through. Demo: demos.luxarviewer.dev/d/gsplats_3...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
🐟 Channels and timepoints are just axes. A zebrafish neuromast (iSIM, 100 timepoints) recorded by @adrianjacobo.bsky.social's lab: membranes and nuclei as two layers, each with its own window, colormap and blending. #lightsheet Demo: demos.luxarviewer.dev/d/gsplats_4...
110
Loïc A. Royer 💻🔬🧪 @loicaroyer.bsky.social · 23/09/2026
Not every curve turns down. Fusion and deconvolution correlate the noise, so on light-sheet volumes held-out PSNR plateaus or rises to 2M splats; Tribolium is still 5.5 dB under its 61 dB ceiling. Where a ceiling is estimable the curve stays below it: the ceiling is the stop.
Line chart titled 'Tribolium nuclei (light-sheet)': PSNR against splat count from 1K to 2M. The train and held-out curves lie on top of each other and keep rising to about 56 dB, below a dotted noise-floor line at 61 dB; no peak, no gap.
110