Skip to main content
Use client.get() to fetch analysis results for items in the catalogue. The method returns result objects with time series data, extracted frames, pattern graphs, and more.

Fetch analysed items

from atomscale import Client

client = Client(api_key="YOUR_API_KEY")

# Search for completed analyses
search_results = client.search(keywords="demo", data_type="rheed_stationary")

# Get analysis results
analysed = client.get(search_results["Data ID"].to_list())
Each item in analysed is a result object depending on the source data type: RHEEDVideoResult, RHEEDImageResult, XPSResult, PhotoluminescenceResult, RamanResult, MetrologyResult, or OpticalResult.

Inspect time series data

For video results, access the timeseries_data attribute to get a DataFrame with per-frame metrics:
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

Video results include snapshot images at key moments:
snapshot = video_item.snapshot_image_data[0]

# Get a matplotlib figure
figure = snapshot.get_plot()

# Access the detected diffraction pattern as a NetworkX graph
fingerprint = snapshot.pattern_graph

# Get a tidy table describing each spot
df = snapshot.get_pattern_dataframe()
The pattern_graph exposes the detected diffraction network, while get_pattern_dataframe() returns positions, intensities, and labels for each spot.

Inspect spectroscopy results

For XPS, photoluminescence, and Raman results, access the spectral data and generate plots:
# XPS
xps_result = analysed[0]
print(xps_result.predicted_composition)   # dict of element → fraction
print(xps_result.detected_peaks)
figure = xps_result.get_plot()

# Photoluminescence
pl_result = analysed[0]
print(pl_result.energies)
print(pl_result.intensities)
figure = pl_result.get_plot()

# Raman
raman_result = analysed[0]
print(raman_result.raman_shift)
print(raman_result.intensities)
figure = raman_result.get_plot()

Inspect metrology and optical results

Metrology and optical results provide timeseries data from instrument sensors and optical imaging:
# Metrology (pyrometer, pressure, etc.)
metrology_result = analysed[0]
print(metrology_result.timeseries_data.columns)
print(metrology_result.timeseries_data.tail())

# Optical imaging
optical_result = analysed[0]
print(optical_result.timeseries_data.columns)  # Edge Perimeter, Circularity, etc.

# Access optical snapshots
if optical_result.snapshot_image_data:
    snapshot = optical_result.snapshot_image_data[0]
    snapshot.processed_image.show()  # PIL Image

Download processed videos

Save annotated MP4 videos to disk:
client.download_videos(
    data_ids=search_results["Data ID"].to_list(),
    dest_dir="processed/",
)
The files mirror what you see in the web UI.

Download raw files

To download the original uploaded file instead of processed output:
client.download_videos(
    data_ids=search_results["Data ID"].to_list(),
    dest_dir="raw/",
    data_type="raw",
)

Next steps