Skip to content
Fathom, the SPM-Kit scientific workspace

Fathom · Interactive scientific workspace

Operate the computation without losing sight of it

Fathom provides perspective-based exploration, parameter configuration, fitting, maps, figures and reports over SPM-Kit Core.

Bundled with SPM-Kit · Alpha
Inputfiles, parameters, projectsOutputCore results, figures, reports

Role in one sentence

SPM-Kit computes. Fathom lets the researcher inspect, configure and operate those computations interactively.

Fathom is not a separate analyzer and is not distributed as a separate package. It is the spmkit.gui workspace installed through the gui extra.

Problem it solves

Some scientific choices are easier to make with linked views: picking a channel, checking a contact point, moving through force curves, comparing a fit with its residuals, or arranging a figure. Fathom exposes those operations while keeping the numerical code in Core.

What it does

  • inspects a dropped/opened file before routing it as image or force data;
  • organizes work into perspectives rather than a single crowded window;
  • shares navigator, inspector, pipeline, log and histogram panels where useful;
  • edits analysis parameters and invokes the associated Core path;
  • supports project files, a command palette and keyboard navigation;
  • renders images, curves, maps, spectra, fit quality and publication figures;
  • exports JSON, CSV, figures and reports through the paths implemented for the active data.

What it deliberately does not do

  • reimplement numerical equations separately from Core;
  • hide errors by inventing a result or a default channel;
  • turn a synthetic screenshot into experimental evidence;
  • make an automatic scientific decision about model validity;
  • guarantee that every perspective has equal evidence maturity;
  • replace reproducible batch/API use when a script is the better instrument.

Installation and launch

python -m pip install "spmkit[gui] @ git+https://github.com/kegouro/spmkit@main"
spmkit gui
spmkit gui scan.nid

Verification without opening a window:

python -c "from spmkit.gui.app_workspace import build_workspace; print('Fathom import OK')"

First session

  1. Install the gui extra and launch spmkit gui.
  2. Open a file with Ctrl+O, the toolbar action or drag-and-drop.
  3. Inspect the file route. Mixed image/force containers prompt for the intended kind.
  4. Choose a perspective from the top bar or press Ctrl+K.
  5. Confirm channel, units, physical field of view and direction.
  6. Configure leveling, model, tip geometry, thresholds or other visible parameters.
  7. Run the operation and inspect the result plus available QC indicators.
  8. Move through curves/maps rather than trusting one representative example.
  9. Export the appropriate result, figure or report.
  10. Save the .spmproj project with Ctrl+S and preserve the source/version context.

Workspace model

Surface Responsibility
Perspective bar chooses the scientific task and visible panels
Navigator shows loaded data and routes selectable channels/curves
Main canvas displays the active image, curve, map, spectrum or figure
Inspector exposes selected-object/result information
Pipeline holds force-analysis configuration and processing state
Histogram inspects property-map distributions
Log preserves task and batch messages visible to the user
Command palette searches registered actions and all current perspectives

A project stores the open file reference, current analysis parameters and active perspective. It is not a copy of the instrument file; keep the original at a stable lawful location.

Which Fathom perspective should I use?

The labels below are taken from the current built-in module declarations. The English intent is followed by the current display label and internal key.

Topography and roughness

Imagen · `image`

Image canvas, navigator and image-analysis panel for channel inspection, leveling, roughness and KPFM.

Particle segmentation

Granos · `grains`

Thresholded particles and grain statistics over the current image route.

PSD and self-affinity

Espectral · `spectral`

Radial PSD, Hurst/fractal fit and correlation-length inspection.

Cantilever spectrum

Sintonía térmica · `resonance`

Thermal spectrum extraction and resonance analysis.

Time-dependent resonance

Evaporación · `evaporation`

Frequency, derived mass and declared evaporation-law analysis.

One force curve

Curva de fuerza · `force`

Contact mechanics, visible pipeline parameters, fit and quality indicators.

Molecule pulling

SMFS · `smfs`

Retract events and WLC/FJC-oriented single-molecule analysis.

Force-volume properties

Mapa · `map`

Computed property maps with inspector and histogram.

Multiple files

Batch · `batch`

Batch table and log for repeated processing.

Publication output

Figura · `figure`

Figure composition and scientific image export.

Surface rendering

Vista 3D · `view3d`

Three-dimensional presentation of the active image surface.

Educational modeling

Simulador · `simulator`

Cantilever simulation. Treat as educational/numerical, not a validated measurement.

All images below are generated from deterministic synthetic data by scripts/gen_docs_media.py. They demonstrate the interface and routing only.

Fathom Image perspective with synthetic topography
Image: synthetic topography and analysis controls.
Fathom Grains perspective with synthetic particles
Grains: segmentation on synthetic morphology.
Fathom Force Curve perspective with a synthetic Hertz curve
Force Curve: deterministic synthetic Hertz-like data and fit.
Fathom Map perspective with a synthetic modulus field
Map: synthetic soft/hard domains in a force volume.
Fathom Thermal Tune perspective with a synthetic resonance spectrum
Thermal Tune: generated resonance spectrum.
Fathom Evaporation perspective with a synthetic time series
Evaporation: generated frequency/mass series.

Shortcuts and command palette

Action Shortcut
Open file Ctrl+O
Save project Ctrl+S
Command palette Ctrl+K
Calculate map Ctrl+M
Export current results Ctrl+E
Generate report Ctrl+Shift+R
Toggle light/dark theme Ctrl+Shift+L
Appearance dialog Ctrl+Shift+A
Copy results Ctrl+Shift+C
Pin current curve Ctrl+P
Previous/next curve Ctrl+Left / Ctrl+Right
First/last curve Ctrl+Home / Ctrl+End

The command palette also registers “Go to …” actions for every assembled perspective, including plugin-provided modules.

Detailed workflow

For a force-volume file:

  1. Open the file and choose the force route when prompted.
  2. Start in Curva de fuerza and inspect an individual curve.
  3. Set model and tip geometry in the Pipeline panel.
  4. Check contact placement, R², RMSE and residual behavior on more than one curve.
  5. Move to Mapa and compute through the selected backend.
  6. Inspect the modulus distribution and invalid/missing regions.
  7. Export the map CSV/figure or a full report.
  8. Save the project and preserve input hash, package version and calibration assumptions.

The allowed claim is that the configured SPM-Kit path produced the inspected result. A good-looking map alone does not establish that the contact model or instrument calibration is valid for the sample.

Architecture and integrations

file → Core reader/inspection → domain object
Fathom session → ViewModel → public Core analysis
panel/canvas ← structured result → export/report
  • Core: implemented in-process dependency and sole numerical implementation.
  • Projects/recipes: Fathom preserves the supported application state for repeat work; the Core CLI remains preferable for large reproducible batches.
  • Validation: campaigns normally invoke the public package/CLI, not Fathom; GUI screenshots are not campaign evidence.
  • Plugins: modules can contribute panels and perspectives through the registered extension architecture after numerical behavior is stable.

Scientific status

Fathom's controls exercise capabilities with different evidence levels. The UI itself has GUI/software tests; a displayed physical-model result inherits the evidence and limitations of that Core path. See the implementation map and scientific status.

Limitations

  • The current display labels are Spanish-first even though this portal is English.
  • Fathom requires a desktop display and is not the batch/HPC interface.
  • Some export/report actions are data-route dependent.
  • Quality indicators describe fit behavior, not universal model validity.
  • Plugin stability follows the versioned public contracts; pre-1.0 APIs may evolve.
  • Interface screenshots are synthetic demonstrations, not experimental evidence.

Contribute

Useful contributions include accessible keyboard workflows, deterministic GUI tests, result/QC presentation, and a Fathom panel only after its numerical Core capability and validation path are defined. See Extending.

Repository · Full user manual · Quick start · Next: Data Hunter