LaserAnalysisAI is now a LaserLab blinded validation lab for laser capture analysis. It does not claim what a signal "means"; it tests whether existing image or video captures contain repeatable structured detections above matched controls.
The main user-facing app is a PyQt5 desktop dashboard. The laserlab package
also remains available as a CLI/API path for reproducible experiments, reports,
and statistical comparison.
Native release bundles contain:
LaserLab(LaserLab.exeon Windows,LaserLab.appon macOS): desktop dashboard for experiment setup, runs, review, and export.LaserLabCLI(LaserLabCLI.exeon Windows): command-line interface for scripted workflows.sample_media/: redistributable public optical/interference fixture clips.BUILD-INFO.json: exact version, target, Python, operating system, and CPU architecture used for the build.
The desktop workflow is deliberately narrow:
Setup: open an experiment, ingest captures with deterministic sampling and provenance checks, choose a protocol, ROI, and bundled fixtures.Run: check protocol quality, estimate work, set the blind seed, and score sealed samples.Review: filter blind IDs, inspect images/crops/OCR/metrics, and save source-safe notes and flags without attribution.Compare: unlock matched-control and detector-family statistics only after explicit unblind.Export: create attribution-safe blinded bundles or complete unblinded research bundles.
See the Researcher Workflow for the complete dashboard flow, capture guidance, interpretation rules, sharing steps, and platform troubleshooting.
Use Python 3.10 or 3.11. On this workstation, the preferred interpreter is:
$PY = "C:\Users\RhythmicCarnage\AppData\Local\Programs\Python\Python310\python.exe"
& $PY -m pip install -r requirements.txtRun the dashboard from source:
& $PY main.pyRun tests:
& $PY -m unittest discover -s testsRun the bundled demo through the same API layer used by the dashboard:
.\scripts\run_fixture_demo.ps1 -Experiment experiments\release-demo -MaxFrames 2 -Profile wide -Protocol anomalyDiffraction / interference: 2D FFT spectrum, fringe spacing proxy, peak/ring stability.Laser speckle / scatter: spatial speckle contrast, local variance, temporal stability proxy.OCR / symbol recovery: OCR plus connected components and synthetic known-text calibration.General anomaly scan: broad texture, edge, OCR, and persistence sweep with strict false-positive language.
Each preset writes a sealed review first. The manifest, report, results, CSV, HTML, and review bundle omit labels, source paths, provenance, and raw media. Setup and Run remain locked until the reviewer marks inspection complete and explicitly chooses Unblind and compare.
Create or append captures to an experiment:
& $PY -m laserlab.cli init --source C:\captures\laser --kind image-set --label laser --experiment experiments\trial-001
& $PY -m laserlab.cli init --source C:\captures\control --kind image-set --label matched_control --experiment experiments\trial-001For video sources, use --all-frames to turn the frame dial fully open:
& $PY -m laserlab.cli init --source C:\captures\laser.mp4 --kind video --label laser --experiment experiments\trial-001 --sampling-profile wide --all-frames --max-frames 500Sampling profiles are quick, baseline, wide, and exhaustive. Near-duplicate frames are suppressed by default using perceptual similarity plus brightness tolerance; use --keep-duplicates only when repeated identical frames are part of the planned analysis. --sampling-mode scene_change is available for long recordings with sparse transitions.
Run blinded analysis:
& $PY -m laserlab.cli run --experiment experiments\trial-001 --profile baseline --blind-seed 123After candidate review is complete, explicitly reveal attribution and compute matched-control statistics:
& $PY -m laserlab.cli unblind --experiment experiments\trial-001Run a wider preprocessing sweep:
& $PY -m laserlab.cli run --experiment experiments\trial-001 --profile wide --protocol diffraction --blind-seed 123Regenerate the latest report:
& $PY -m laserlab.cli report --experiment experiments\trial-001 --format bothList or describe protocol presets:
& $PY -m laserlab.cli protocols list
& $PY -m laserlab.cli protocols describe speckleExport a local-first community review bundle:
& $PY -m laserlab.cli bundle --experiment experiments\trial-001 --output exports\trial-001-review.zipList or fetch fixture media:
& $PY -m laserlab.cli fixtures list --include-restricted
& $PY -m laserlab.cli fixtures fetch --output sample_mediamanifest.json: stable experiment record with sources, captures, raw/frame hashes, media metadata, provenance warnings, deterministic sampling settings, preprocessing profiles, detector settings, protocol plan, ROI, blinding seed, and output paths.runs/<run-id>/results.json: sealed detector records before unblind; after explicit unblind it gains source roles, attribution, q-values, and aggregate comparison statistics.runs/<run-id>/report.html: human-readable evidence summary with top candidates, blinded reviewer annotations, provenance after unblind, and null-result language.*.zipreview bundle: blinded bundles exclude source attribution and media; unblinded bundles can include provenance and optional raw media.
Reports classify each run into one of these levels:
no signal: laser scores did not exceed matched controls.artifact: detections are better explained by controls or weak differences.anomaly: elevated structure exists, but not enough for a controlled claim.above-control candidate: laser captures beat controls under permutation testing and effect-size thresholds.repeatable candidate: above-control evidence plus frame-to-frame persistence.
The system is intentionally conservative. A null result means this detector set and capture set did not beat the control baseline, not that the broader idea is disproven.
The fixture catalog includes small Wikimedia Commons optical/interference videos with explicit Creative Commons licensing, plus an external pointer to the Illinois Wesleyan/American Journal of Physics single-photon video set. The IWU set is scientifically stronger but stays external/manual until redistribution terms are confirmed.
See the Fixture Catalog for expected detector behavior, limitations, licenses, and provenance rules.
- Capture laser and control footage under matched camera settings, exposure, focus, distance, and surface geometry.
- Include non-diffracted laser/control footage where possible, not only blank frames.
- Avoid saturated frames; if the beam is clipped to pure white/green, many metrics become less meaningful.
- Use a stable camera or tripod so persistence and phase-registration scores are interpretable.
- Record enough frames for both laser and controls. Two frames is fine for smoke tests; real runs need more.
A null result is useful. It means the selected protocol, detector sweep, and capture set did not exceed matched controls under this run. It does not prove absence of a signal, and it does not settle origin claims. Repeat new blinded captures before treating any candidate as meaningful.
LaserLab cannot prove metaphysical origin, intent, consciousness interaction, or that any detected structure is language. It can only report whether detector scores exceed matched controls under a reproducible local protocol.
The shared builder runs on Windows, macOS, or Linux and produces a native archive for the host platform:
python scripts/build_release.py --output-dir dist
Windows users can use the compatibility wrapper:
.\scripts\build_windows_exe.ps1 -OutputDir distRelease archives are named by version, operating system, and architecture:
dist/LaserLab-v<version>-windows-x86_64.zip
dist/LaserLab-v<version>-linux-x86_64.zip
dist/LaserLab-v<version>-macos-x86_64.zip
dist/LaserLab-v<version>-macos-arm64.zip
GitHub Actions builds and smoke-tests all four native bundles. Tesseract remains optional at runtime; OCR is reported as unavailable when the external Tesseract executable is not installed.
The old single-column OCR viewer has been retired from the primary app path.
Legacy helper modules remain in the repo where they still support compatibility,
but new development should target the laserlab engine and the LaserLab
dashboard.


