Inspect Analysis Results

general_use.ipynb demonstrates how to work with objects returned by atomicds.client.Client.get(). This guide walks through the same workflow in a linear format.

Fetch analysed items

from atomicds.client import Client

client = Client(api_key="YOUR_API_KEY")
search_results = client.search(keywords="demo", data_type="rheed_stationary")

analysed = client.get(search_results["Data ID"].to_list())

Each item in analysed is a subclass of atomicds.results.RHEEDVideoResult or atomicds.results.RHEEDImageResult, depending on the source data.

Inspect time series data

video_item = analysed[0]
timeseries = video_item.timeseries_data
print(timeseries.columns)
print(timeseries.tail())

The timeseries frame contains specular intensity, strain metrics, cluster IDs, and other summary features for every frame in the video.

Work with extracted frames

snapshot = video_item.snapshot_image_data[0]
figure = snapshot.get_plot()  # Matplotlib figure
fingerprint = snapshot.pattern_graph
df = snapshot.get_pattern_dataframe()

pattern_graph exposes the detected diffraction network as a NetworkX graph, while get_pattern_dataframe() returns a tidy table describing each spot.

Download processed videos

client.download_videos(
    data_ids=search_results["Data ID"].to_list(),
    dest_dir="processed/",
)

The files are saved as MP4 (one per data ID) and mirror what you see in the UI.