Contents
Three workspaces, one coordinate frame
The atlas is built from fixed wings stained with DAPI, a fluorescent nuclear stain, imaged at three stages of wing development labeled 0.5, 0.75 and 1.0. Each accepted expression image has been registered onto one of six standard wings (forewing or hindwing at stage 0.5, 0.75 or 1.0), each drawn on a 2048 × 2048 pixel canvas. That shared frame is what lets you compare a gene across stages, put two genes side by side, or lay expression over the confirmed vein pattern. The site has three workspaces built on it, and each one links to the others.
You do not need an account. Browsing and prediction are open to anyone; only the original full-resolution files sit behind a download password.
Predict Wing & Stage
Upload a DAPI image of one wing. Get forewing or hindwing, the most likely stage, and a link to the matching atlas.
Use when you have your own image → /en/atlas/Gene Expression
One gene at a time as a heatmap or intensity particles, with no anatomical background. Compare stages, wings and processing.
Use to read a pattern → /en/anatomy/Anatomy & Layers
Standard DAPI and confirmed veins, with up to four genes added in their own colors.
Use to place signal in context →From your DAPI image to the matching atlas
- Prepare one wing per image.Use the DAPI channel of a fixed, DAPI-stained wing, matching how the atlas images were made. PNG, JPG or TIFF all work; color images are converted to grayscale. Image and mask together can be up to 64 MB. Automatic orientation, mirroring, scale and position normalization is attempted. Check the aligned preview and use manual calibration whenever the anatomical direction or outline is incorrect.
- Add a mask only if you need to.The service finds the wing outline automatically by thresholding, and it tries both bright-on-dark and dark-on-bright. If debris or a neighboring tissue confuses it, upload your own mask: white wing on a black background, the same pixel size as the image.
- Press Run Prediction and check the alignment card.It shows a confidence bar and the numbers behind it. Below 62% the card says “Low automatic-alignment confidence; manual alignment recommended” and opens the manual controls for you.
- Read the two probability panels.“Wing Type” gives forewing against hindwing. “Stage for …” gives the three stage probabilities for the selected wing. The evidence card lists the four stage signals that were fused: primary model, ordinal model, template match and nearest reference (with its distance
d). - Let the atlas open, or choose it.A confident result opens the matching atlas automatically. Otherwise all six wing and stage combinations appear, ranked by joint probability, and you pick one. Use the checker further down to see exactly when each happens.
What is on the predictor page
Select a region of this simplified page map to see what it does.
The result page
After a prediction the site moves to /en/result/. The header shows which atlas is displayed and whether the model chose it (“model-selected atlas”) or you need to (“review required”). Three summary panels give the wing probability, the stage probability, and a facts box comparing the model’s prediction with the atlas being shown and the alignment status.
Below are four panels: your uploaded DAPI image, your mask and alignment (switch between Overlay, Image and Mask), the standard DAPI for the chosen wing and stage, and the interactive Gene & Vein atlas embedded live. Expand opens that atlas full size, and Back to alignment returns you to the predictor with your run loaded, so you can adjust it without the page jumping away again.
When review is required, a chooser lists all six combinations with their joint probability. Picking one changes only the view. The model result is kept, and your choice is not saved as a training label.
Review reasons, decoded
| Code on the page | What it means | What to try |
|---|---|---|
wing_type_probability_below_0.62 | The model is not convinced it is a forewing or a hindwing. | Check the mask; supply your own if the outline is wrong. |
wing_type_margin_below_0.06 | Forewing and hindwing are nearly tied. | Same as above. With only two classes this usually comes with the line above. |
stage_probability_below_0.48 | No stage reaches 48%. | Look at the Stage panel; choose between the top two yourself. |
stage_margin_below_0.04 | The top two stages are within 4 points. | Your wing may sit between stages. Compare both atlases. |
stage_bundle_decision=… | The stage model for that wing family flagged its own result as uncertain_review, for example because its fused confidence or margin is low or the wing is far from every reference wing. | Read the evidence card to see which signal disagrees. |
ordinal_conflict | The ordinal model puts the wing two stages away from the fused answer, or its maturity estimate is too far off. | Treat the stage as uncertain. |
alignment_confidence_below_threshold | Alignment confidence is under 62%. | Use manual alignment and re-predict. |
forewing alignment failed / hindwing alignment failed | The image could not be aligned to that wing family at all. | Check that the image contains one whole wing. |
manual_family_conflicts_with_type_model | After manual alignment, the family you chose is not the one the wing-type model prefers. | Fine if you are sure; it simply keeps the result in review. |
Read one gene at a time
The expression workspace shows pure expression with no DAPI or vein background. Choose a gene, a wing family and a stage in the left column; the middle column shows the image, and the right column, “Behind the view,” explains where it came from. Drag to pan, scroll to zoom and double-click to reset. When several panels are shown, they zoom and pan together.
Comparison layouts
| Tab | Shows | Good for |
|---|---|---|
| Single view | The selected gene, wing, stage and processing method. | Reading the pattern closely. |
| Across stages | Stages 0.5, 0.75 and 1.0 for the chosen wing. | Following a pattern through development. |
| Fore / Hind | Forewing and hindwing at the chosen stage. | Spotting wing-specific domains. |
| Source images | The individual registered inputs behind the average, 12 per page, each with its registration method and selection TRE. | Checking whether one sample dominates the average. |
| Compare all three methods | Baseline, soft gating and bilateral + soft gating side by side (button under Advanced settings). | Deciding whether faint signal is real or processing. |
Processing methods
Heatmap or intensity particles
Expression heatmap draws relative expression on a fixed 0 to 1 scale that never rescales between views. Intensity particles draw sampled points in tiers set at the baseline 50th and 85th percentiles. The particles are display samples, not individual mRNA molecules. The opacity slider changes only how the image is drawn.
Signal & coverage diagnostics
The right column reports four numbers for the selected processing method. Strong retained and Weak retained are the share of strong and weak signal that survived processing. Outside reference is the share of signal falling outside the standard wing outline. Standard coverage is how much of the standard wing the samples cover. They describe processing and coverage; they are not accuracy, precision or recall.
Place signal on the standard wing
This workspace starts from the standard DAPI image and the confirmed vein layer for the chosen wing and stage. The veins are frozen, human-selected representatives and are never re-fitted: the forewing references have 13, 15 and 16 vein branches at stages 0.5, 0.75 and 1.0, and the hindwing references have 11, 12 and 11. Turn on Show selected gene layers and tick up to four genes, each with its own color and opacity. Every gene group in this release shares its reference’s coordinate frame, so any gene can be overlaid at any wing and stage.
| Display preset | DAPI | Gene | Vein | Gene blend | When to use |
|---|---|---|---|---|---|
| Structure first (recommended) | 52% | 60% | 66% | Natural alpha layers | Orientation and vein context come first. |
| Signal first | 20% | 86% | 40% | Screen / mixed overlap | Faint expression; overlaps lighten. |
| Balanced layers | 40% | 72% | 54% | Natural alpha layers | Figures where both matter. |
Moving any slider switches the preset to Custom controls. Other settings: DAPI source (brightness-normalized display or original intensity), Vein style (natural ribbon or outline), vein color, and Layer order (vein above genes, or genes above vein). The Compare display styles tab shows all three presets at once with your layers and zoom shared.
Each gene starts with its own color from the palette below. You can change any of them, and your colors travel with the view link.
Color mixing in an overlay is qualitative. It shows where independent samples overlap on the standard wing, not that two genes are expressed in the same cells.
How many images stand behind each map
Each cell counts the source images averaged for that gene, wing and stage. Select a cell to load it into the link builder, then open it on the live site or copy the link. A dot marks a single-sample map, which the site labels “Single-sample representative map, not a population consensus.”
Reading the images responsibly
Expression values are relative fluorescence, not molecule counts, and they are not calibrated across samples or genes. ROI gains and imaging batches differ, so compare spatial patterns between stages and wings rather than absolute brightness.
Registration of the gene images still awaits method-level confirmation. The 48 newer groups are marked “registration review required,” and the 24 legacy groups (dll, dpp, fz9, hh) have accepted sample quality but experimental registration. The integrity checks prove that the files are intact and that the gene and vein frames match exactly. They do not prove that the biological registration is accurate.
The standard anatomy is representative, not independent anatomical ground truth. Where a combination has no accepted samples, the site shows nothing rather than inventing a pattern.
Prediction confidence values are model outputs, and alignment confidence is a heuristic score, not a probability. A regression run on a known reference image shows the pipeline is unchanged; it does not measure predictive accuracy.
Downloading original images and arrays
Images on the site are reduced previews with a longest edge of 960 pixels, and you are free to view and save them. The originals are listed on one page, linked from the banner at the bottom of every workspace (“Original images & data (password required)”) and reachable directly at /downloads/. Your browser will ask for a username and password: the username is atlas_download, and the password comes from the project owner.
For each gene, wing and stage group, and for each of the three processing methods, the list includes the heatmap and layer PNGs, a 16-bit intensity PNG and these arrays:
| File | Label in the workspace |
|---|---|
expression_float.npy | Float intensity |
coverage_count.npy | Coverage |
between_sample_sd.npy | Uncertainty |
missing_support.npy | Missing support |
outside_reference_conflict.npy | Outside conflict |
points.npz | Particles |
The individual aligned source images and the six anatomy packages (DAPI original and normalized, vein layers, approved vein + DAPI overlay, selection manifest) are on the same page. Anything outside the published catalog is refused, even with the password.
When something does not work
The predictor says the service is preparingservice preparing · The prediction service is preparing or temporarily unavailable.
The free prediction backend sleeps when idle and takes a little while to wake. Wait a minute and refresh. The atlas and anatomy workspaces keep working in the meantime because they are served separately.
My submission was turned awayAnother prediction is running. Please wait before submitting again. (HTTP 409)
The backend runs one prediction at a time for everyone. Wait for the other run to finish and submit again.
The upload is too largeThe image and mask must total no more than 64 MB. (HTTP 413)
Export a single-channel 8-bit PNG of the DAPI channel, or crop to the wing. Prediction uses grayscale only.
The origin check failedThe request origin check failed. Refresh this page and try again. (HTTP 403)
The page sends predictions only from its own site. Refresh, and make sure you are on the English or the Chinese site directly rather than an embedded or cached copy.
The service could not be reachedThe cloud prediction service could not be reached. Please try again shortly. (HTTP 5xx)
A temporary network or backend problem. A timeout can occur after a submission has started: check Recent Predictions before submitting again.
An old result will not openCould not load this result · Prediction record unavailable
Your predictions are tied to a private cookie in the browser you used, kept for 30 days. They will not open in another browser, after you clear cookies, for a colleague you send the link to, or on the other language site (the English and Chinese sites keep separate histories). To share a prediction, send screenshots, or share an atlas view link instead.
A panel says there is no dataNo accepted samples for this combination · No extracted data … No expression is invented.
In this release every gene has data at every wing and stage, so this should only appear for genes that are registered but not yet extracted, which the gene menu marks “awaiting data.”
I cannot tick a fifth geneChoose up to four genes for a readable overlay.
Overlays are limited to four genes. Untick one first.
A gene is greyed out in the overlay listOverlay blocked: incompatible coordinate frames · frame differs
The site refuses to overlay a gene whose coordinate frame differs from the reference wing, rather than warping it silently. All 72 groups in this release match, so if you see this after a data update, tell the maintainer.
A download asks for a passwordOriginal downloads require a separate password.
That is expected. Use the atlas_download account. Previews on the site stay free to view and save.
How it is built
The public sites are static and run on Cloudflare Pages, one project per language. Each site’s Worker serves the pages, the atlas catalog and the preview images itself, and forwards only predictions, results and original downloads to a Python backend in a ModelScope Docker Studio. There, a single dispatcher on port 7860 is the only exposed service; the per-language gateways, the password-checking gateway and the prediction engine all listen on loopback. The private data bundle (about 18.6 GiB, 4,139 files) is downloaded from a private dataset and SHA-256-verified on startup.
The single-port Docker service also offers the full interface at http://127.0.0.1:7860/en/ and /zh/. Local gateways and Pages use the same frontend tree.
To edit what visitors see, change the files under public/en/en/ and public/zh/zh/; the two languages are separate copies. The Worker has a test suite (npm test); gateway routing is checked with python -m unittest discover -s tests -p "test_*.py". Setup, configuration variables, local running and the update procedure are in the repository README.md, and the full deployment walkthrough is in deploy/DEPLOYMENT_ZH.md.
Release review and credits
HH stages 0.5 and 0.75 are being reviewed following lab feedback. Additional staining photographs are visual guidance only; the current release still has 291 images and 72 groups.
Platform: Huang Mengxuan. Research supervision: Antonia Monteiro, Monteiro Lab, NUS. Lab colleagues supplied the initial manual and README drafts. Software and project documentation: MIT; scientific images, arrays and models have separate data-use terms.