Skip to content

eyepy.io.he.e2e_format

BscanAdapter(*args, **kwargs)

Bases: Adapter

Source code in src/eyepy/io/he/e2e_format.py
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.LUT = self._make_LUT()
    self.inv_LUT = self._make_inv_LUT()

Chunk dataclass

Bases: DataclassMixin

Data chunk.

Size: variable

Notes: Every chunk has a header similar to the file header. A chunk then holds the headers of all contained folders sequentially, followed by data containers, that are referenced by the folder headers. A chunk can contain folders with data of different patients, studies, series, slices and types. Each folder contains data for a single (patient, study, series, slice, type) combination which is given in the folder header as well as the data container header. For the last chunk to have 512 folders, empty folders of type=0 are appended.

ContainerHeader dataclass

Bases: DataclassMixin

Container header data.

Size: 60 bytes

Notes:

DataContainer dataclass

Bases: DataclassMixin

Data container.

Size: variable

Notes:

E2EFormat dataclass

Bases: DataclassMixin

E2E file format.

Size: variable

Notes: An E2E file starts with a version structure, followed by a header structure. After that the data comes in chunks of 512 folders.

FolderHeader dataclass

Bases: DataclassMixin

Folder header.

Size: 44 bytes

Notes:

Header dataclass

Bases: DataclassMixin

Chunk header.

Size: 52 bytes

Notes:

LateralityEnum

Bases: EnumBase

Enum for laterality of eye.

The laterality is stored as single character in ASCII code.

Type10004 dataclass

Bases: DataclassMixin, TypeMixin

B-scan Metadata Metadata for a single B-scan.

Size: 428 bytes

Notes: The current Bscan-Meta structure builds on the implementation found in LibE2E.

Type10010 dataclass

Bases: DataclassMixin, TypeMixin

Type 10010.

Size: variable

Notes:

Type10012 dataclass

Bases: DataclassMixin, TypeMixin

Type 10012.

Size: variable

Notes:

Type10013 dataclass

Bases: DataclassMixin, TypeMixin

Type 10013.

Size: variable

Notes:

Type10019 dataclass

Bases: DataclassMixin, TypeMixin

Layer Annotation Stores one layer for one Bscan.

Size: variable

Notes:

Type10025 dataclass

Bases: DataclassMixin, TypeMixin

Localizer Metadata.

Size: 100 bytes

Notes:

Type1073741824 dataclass

Bases: DataclassMixin, TypeMixin

Image data Stores various kinds of images.

Size: variable

Notes: Different kinds of images are stored in this structure. Currently we know the following types:

  • 33620481: LocalizerNIR (int8u)
  • 35652097: Bscan (float16u)

The custom float16u used to store the Bscan data, has no sign, a 6-bit exponent und 10-bit mantissa.

Type11 dataclass

Bases: DataclassMixin, TypeMixin

Type 11.

Size: 27 bytes

Notes: We don't know what this data is used for, only that the 15th byte indicates the laterality of the eye.

Type17 dataclass

Bases: DataclassMixin, TypeMixin

Diagnose data.

Size: variable

Notes:

Type3 dataclass

Bases: DataclassMixin, TypeMixin

Type 3.

Size: 96 bytes

Notes: We don't know what this data is used for, only that the 5th byte indicates the laterality of the eye.

Type5 dataclass

Bases: DataclassMixin, TypeMixin

Type 5.

Size: 59 bytes

Notes: We don't know what this data is used for, only that the 3rd byte indicates the laterality of the eye.

Type59 dataclass

Bases: DataclassMixin, TypeMixin

Type 59.

Size: 27 bytes

Notes: We don't know what this data is used for, only that the 14th byte indicates the laterality of the eye.

Type7 dataclass

Bases: DataclassMixin, TypeMixin

Measurements Global measurements of the eye.

Size: 68 bytes

Notes:

Type9 dataclass

Bases: DataclassMixin, TypeMixin

Patient data Personal data of the patient.

Size: 131 bytes

Notes:

Type9000 dataclass

Bases: DataclassMixin, TypeMixin

Studyname Name of the study/visit.

Size: 264 bytes

Notes:

Type9001 dataclass

Bases: DataclassMixin, TypeMixin

Device Name of the used device.

Size: 776 bytes

Notes:

Type9005 dataclass

Bases: DataclassMixin, TypeMixin

Examined structure Name of the examined structure.

Size: 264 bytes

Notes:

Type9006 dataclass

Bases: DataclassMixin, TypeMixin

Scan pattern Bscan pattern used for the aquisition.

Size: 520 bytes

Notes:

Type9007 dataclass

Bases: DataclassMixin, TypeMixin

Enface Modality Modality of the enface (eg IR)

Size: 520 bytes

Notes:

Type9008 dataclass

Bases: DataclassMixin, TypeMixin

OCT Modality Modality of the OCT (eg OCT)

Size: 520 bytes

Notes:

TypesEnum

Bases: EnumBase

Enum for types of data stored in .e2e files.

Version dataclass

Bases: DataclassMixin

Version header.

Size: 36 bytes

Notes: