TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
翻译准备中
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Interactive dual-beam FIB-SEM in the browser: Ga⁺ and Xe/Ar/N/O plasma ion beams that image, mill, deposit and prepare TEM lamellae, plus SEM imaging, EBSD/TKD, EDS and Monte Carlo
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Live exhibit: https://advanced-em.github.io/FIB-view/
An interactive dual-beam microscope (FIB-SEM) in the browser, built as a small science-museum exhibit. It is the sister exhibit of Seeing with Electrons (TEM) and Seeing Surfaces (SEM): everything the SEM exhibit does, plus a focused ion beam that images, mills, deposits and prepares TEM lamellae.
V for the on-screen panel (Q/W focus, A/S
magnification, Z/X current, H/L and K/J multifunction, O/P context, arrows for the stage, Tab, U to start or stop
patterning); pop it out to a second screen. The Console is the TEM-view Console: the same hardware drives both exhibits.fib-view-telemetry/1 (no personal data), can be downloaded, replayed with a
scrubber and the true score over time, analysed with tools/analysis/sessions.py, and shared with a Hugging Face
dataset through hf/ (a Cloudflare Worker or an HF Space collector, and hf/build_dataset.py
for the sessions and steps tables). js/config.js holds the collector address (empty: local only)./): a command bar and push-to-talk voice (M) with a FIB grammar ("switch to
xenon", "ion current 1 nA", "tilt to 52", "mill a box 10 by 5 by 2 microns", "clean the face", "deposit 1 micron
of platinum", "slice and view", "next step", "thin to 100 nm", "polish at 5 kV", "cryo lamella", "sputter coat",
"milling angle 12", "mill to 800 nm at 300 pA", "anticontaminator on"), spell correction with
confirmation, and analyses: measure_resolution, measure_mill, sputter_yield, fit_eds, ebsd_stats,
sv_fractions, lamella_thickness, cryo_quality, ion_range, each compared with the simulator's truth.ES modules need to be served over HTTP:
python3 -m http.server 8768
Then open http://localhost:8768. Three.js loads from jsDelivr. Plain static files: GitHub Pages works directly.
npm test # physics references, every mode × specimen, training tasks, grammar
node tools/stamp.mjs # cache-busting version on every module and the stylesheet in index.html
Regenerate the guide figures and PDFs with node tools/guide-figs.mjs and node tools/guides.mjs, and the icon
set and social-preview banner with node tools/icons.mjs (all three use Chrome).
Drag the instrument to orbit, scroll to zoom. Keys 1–9, 0, -, = switch modes (\ the cryo lamella), Space pauses, C
clarity, L labels, R resets the view, N narration, X enlarges the results, V on-screen panel, I
acquire, U start/stop patterning, T training, P Python, / AI mode, hold M to talk, [ ] fold the side
panels. Drag the image to move the stage (Alt-drag in Mill and Deposit, where a plain drag draws a pattern), scroll
it to zoom. In BSE click the quadrants; in EDS click a peak; in EBSD/TKD hover the map for its pattern.
| File | Role |
|---|---|
js/physics.js | Electron and ion probes, materials, yields and ranges, sputtering (Sigmund/ZBL/Yamamura), ion-induced SE and SI, binary-collision Monte Carlo, deposition, crystallography, volumetric specimens |
js/mill.js | Patterning engine (adaptive per-pattern grids: milling, deposition, imaging damage, redeposition), lamella and cryo lamella workflow models |
js/sim.js | Ray-cast imaging for both beams, ion images, EBSD/TKD, EDS, Monte Carlo runners, slice & view |
js/ops.js, js/twin.js | The instrument's operations without a page (shared by the UI, voice, agents, Python, headless) |
js/render2d.js | Detector views, pattern overlays, curves, orthoslices, lamella views |
js/scene3d.js | Three.js dual beam: columns, sources, stage, detectors, GIS, manipulator, beams and particles |
js/explain.js, js/components.js, js/narration.js | Explanations, instrument-physics cards, narration |
js/panel.js, js/vpanel.js | Hardware panel / game controllers and the on-screen console |
js/voice.js, js/agent.js, js/analyze.js | Command grammar, spell correction and confirmation; agent bridge; analyses |
js/scenarios.js, js/telemetry.js, js/config.js | Training scenarios, opt-in recorder, deployment settings |
js/scripting.js, js/ide.js | Python scripting calls and the in-browser IDE |
js/acquire.js, js/export.js, js/npy.js, js/state.js | Acquisitions, NumPy export, session state |
hf/ | Hugging Face dataset builder and session collectors (Worker, Space) |
tools/fibview-mcp/, tools/fibview-py/, tools/headless.mjs, tools/analysis/ | MCP server, Python package, headless runner, session analysis |
docs/guides/, , |
All rights reserved while the licenses for the software, documentation, hardware and firmware are decided. See LICENSE.
tools/fibview-mcpsimulatemillcryo_lamellaion_physicsexhibit_setexhibit_patternexhibit_cryoexhibit_commandexhibit_acquireexhibit_analyzeexhibit_sayexhibit_wait_for_voicetools/fibview-py scripts the instrument (fib.set, fib.mill,
fib.deposit, fib.lamella, fib.cryo, fib.acquire, fib.analyze, challenges). The same scripts run in the exhibit's
Python IDE (P, Pyodide), headless on a desktop, or driving an open exhibit.I): numbered acquisitions in a gallery, each downloadable as PNG or NumPy .npz with metadata
(calibrations, beams, pattern depth maps, lamella truth). Export and save/load sessions (including the
milled patterns). Headless: node tools/headless.mjs --mode mill --spec chip --ion Xe --mill rcs:16x8x6.docs/guides/, linked from the exhibit's header): printable SOPs with figures
computed by the exhibit. SOP-01 TEM lamella lift-out (cap, trenches, cleaning, J-cut, lift-out, thinning with
over-tilt, 5/2 kV polish, troubleshooting, checklist), SOP-02 Python scripting and SOP-03 Cryo lamella for cryo-ET
(cryo stage, sputter coat, cold GIS, milling angle, relief cuts, milling to 200 nm, Ga vs Ar vs Xe damage, cryo slice & view). Regenerate the figures with
node tools/guide-figs.mjs and the PDFs with node tools/guides.mjs (both use Chrome).N for auto-narrate) with the browser's speech synthesis, General or Physics
level, female or male voice. Educational ↔ realistic toggle. Results panel enlarge (X) or pop out.
Phones and tablets: one scrolling page below 1100 px.tools/guides.mjstools/guide-figs.html| Printable SOPs (lift-out, Python scripting), their figures and the PDF printer |