Skip to content

scanimage_utils.py

get_scanimage_acq_time(scan)

Return ScanImage acquisition time

Example

loaded_scan = scanreader.read_scan(scan_filepath)

header = scanimage_utils.parse_scanimage_header(loaded_scan)

Parameters:

Name Type Description Default
scan scanimage object

ScanImage object with header

required

Returns:

Name Type Description
time str

acquisition time in %Y %m %d %H %M %S format

Source code in element_interface/scanimage_utils.py
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def get_scanimage_acq_time(scan):
    """Return ScanImage acquisition time

    Example:
        > loaded_scan = scanreader.read_scan(scan_filepath)

        > header = scanimage_utils.parse_scanimage_header(loaded_scan)

    Args:
        scan (scanimage object): ScanImage object with header

    Returns:
        time (str): acquisition time in %Y %m %d %H %M %S format
    """
    header = parse_scanimage_header(scan)
    recording_time = datetime.strptime(
        (header["epoch"][1:-1]).replace(",", " "), "%Y %m %d %H %M %S.%f"
    )
    return recording_time

parse_scanimage_header(scan)

Parse ScanImage header

Example

loaded_scan = scanreader.read_scan(scan_filepath)

recording_time = scanimage_utils.get_scanimage_acq_time(loaded_scan)

Parameters:

Name Type Description Default
scan scanimage object

ScanImage object including a header property

required

Returns:

Name Type Description
header dict

ScanImage header as key-value dictionary

Source code in element_interface/scanimage_utils.py
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
def parse_scanimage_header(scan):
    """Parse ScanImage header

    Example:
        > loaded_scan = scanreader.read_scan(scan_filepath)

        > recording_time = scanimage_utils.get_scanimage_acq_time(loaded_scan)

    Args:
        scan (scanimage object): ScanImage object including a header property

    Returns:
        header (dict): ScanImage header as key-value dictionary
    """
    header = {}
    for item in scan.header.split("\n"):
        try:
            key, value = item.split(" = ")
            key = re.sub("^scanimage_", "", key.replace(".", "_"))
            header[key] = value
        except:  # noqa E722
            pass  # TODO: remove bare except
    return header