atomscale.results.rheed_video#

Result objects for RHEED video analysis.

Classes

RHEEDVideoResult(data_id, timeseries_data, ...)

RHEED video result

class atomscale.results.rheed_video.RHEEDVideoResult(data_id: UUID | str, timeseries_data: DataFrame, snapshot_image_data: list[RHEEDImageResult] | None, views: DataFrame | bool | None = None, collected_datetime: str | None = None, rotating: bool | None = None)[source]

Bases: MSONable

RHEED video result

Parameters:
  • data_id (UUID | str) – Data ID for the entry in the data catalogue.

  • timeseries_data (DataFrame) – Pandas DataFrame with per-frame RHEED features, indexed against a “Time” column. Columns are capitalized labels such as “Cluster ID”, “Specular Intensity”, “Strain”, “Cumulative Strain”, “Oscillation Period”, “Diffraction Spot Count”, and “Lattice Spacing”.

  • snapshot_image_data (list[atomscale.results.rheed_image.RHEEDImageResult] | None) – One atomscale.results.rheed_image.RHEEDImageResult per snapshot extracted from the video, or None if no snapshots were extracted.

  • views (DataFrame | None) – Motion intervals and effective azimuth annotations. Omitted or None means no views are known, which reads as not rotating.

  • collected_datetime (str | None) – Datetime when the data was collected.

  • rotating (bool | None) – Deprecated. This argument held a bare rotating flag before rotation became a stored rate; it is accepted so callers written against that signature — and MSONable payloads serialized under it, which carry no views — still construct. It is translated to the placeholder view atomscale.rheed_metadata.legacy_views_frame() builds for the matching legacy type, so rotating answers the same. Ignored when views is given.

property rotating

Whether the stage turned during this recording.

Read from the stored per-view rpm rather than from the catalogue type, so a recording answers the same before and after the RHEED types were unified — rheed_stationary is simply rpm 0. Kept because callers relied on this attribute before rotation became a stored rate.

A NaN rpm comes only from the legacy fallback in atomscale.rheed_metadata.legacy_views_frame() — a backend that recorded rotation as a type name and never a rate. That still reads as rotating.