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.