pylabrobot.li_cor.odyssey.OdysseyClassic#

class pylabrobot.li_cor.odyssey.OdysseyClassic(host: str | None = None, username: str | None = None, password: str | None = None, port: int = 80, timeout: float = 60, io: HTTP | None = None)#

Bases: object

LI-COR Odyssey Classic infrared scanner using its embedded HTTP interface.

Lengths, including resolution, are in millimeters. Credentials can be supplied explicitly or through ODYSSEY_USER / ODYSSEY_PASS. ODYSSEY_HOST supplies the host when omitted. Pass an HTTP transport as io to use a simulated or recorded connection.

Attributes

connected

Whether setup has opened and checked the transport.

last_status_html

The most recently parsed status-page HTML, for diagnostics.

last_status_http

The HTTP status of the most recently parsed status page.

Methods

__init__([host, username, password, port, ...])

cancel_scan()

Abort acquisition and discard partial output.

configure_scan([name, group, resolution, ...])

Configure a scan and complete the firmware's seven-step initialization.

download(group, scan_name)

Download both channels as separate TIFF files, keyed by wavelength.

download_channel(group, scan_name, channel)

Download one complete TIFF for the 700 or 800 nm channel.

download_scan_log(group, scan_name)

Download the saved scan log.

estimate_time(*[, resolution, quality, ...])

Request the firmware's scan-time estimate; lengths and resolution are in mm.

force_stop()

Stop a paused or stuck scanner through the status-page control.

get_instrument_info()

Read the instrument's serial number and software-version page as HTML.

get_preview(group, scan_name[, ...])

Fetch a JPEG preview rendered by the instrument.

list_groups()

List saved scan groups from the instrument's scan page.

list_scans(group)

List scans in a group using the scan page's group selector.

pause_scan()

Pause acquisition; resume with start_scan().

request_progress()

Read the configured scan's dimensions, file size, and remaining-time text.

request_status()

Read the status page, rejecting unknown states instead of reporting false completion.

scan(*[, timeout, poll_interval, on_progress])

Start the configured scan and wait for completion.

serialize()

Return connection settings, excluding credentials.

setup()

Open the HTTP transport and verify the authenticated status page.

shutdown_instrument()

Power off the instrument.

start_scan()

Start a configured scan, or resume a paused scan.

stop()

Close the connection.

stop_and_save([timeout, poll_interval])

Stop acquisition, wait for idle, and report which configured channels have TIFFs.

stop_scan()

Finish the current line and retain the partially acquired image.

wait_until_done(*[, timeout, poll_interval, ...])

Wait for a terminal state, optionally requiring a transition out of an initial idle state.

Parameters:
  • host (Optional[str])

  • username (Optional[str])

  • password (Optional[str])

  • port (int)

  • timeout (float)

  • io (Optional[HTTP])