iFDO Structure#
An iFDO file is split into two parts: An image set header containing information about the image set and default values
for the image set, and an image set items object describing each image item in the image set.
Image Set Header#
The image-set-header is an object, which can contain any field defined by iFDO Core, iFDO Capture and iFDO Content as default values for the hole image set.
The following list provides an overview of the required fields, which are necessary to ensure the FAIRness of the iFDO file.
Required Fields#
| Field | Description |
|---|---|
| image-set-name | A unique name for the image set, should include image-project, image-event, image-sensor and optionally the purpose of imaging |
| image-set-uuid | A random UUID assigned to the entire image set |
| image-set-handle | A Handle URL (suggested: using the image-set-uuid) to point to the landing page of the data set |
| image-set-ifdo-version | The semantic version information of the iFDO standard used. |
| image-datetime | Full UTC datetime of image acquisition (or start time of a video) as in ISO8601. The default format here is ‘YYYY-MM-DD hh:mm:ss.sss’ with a space between date and time as in ISO 8601:2004. Other formats may be used if defined in the field ‘image-datetime-format’. |
| image-latitude | Y-coordinate of the camera center in decimal degrees: D.DDDDDDD (use at least seven significant digits that is ca. 1cm resolution on Earth) |
| image-longitude | X-coordinate of the camera center in decimal degrees: D.DDDDDDD (use at least seven significant digits that is ca. 1cm resolution on Earth) |
| image-altitude-meters | Z-coordinate of camera center in meters. Has negative values when camera is below sea level. Has positive values when the camera is above sea level. |
| image-coordinate-reference-system | The coordinate reference system, e.g. EPSG:4326 |
| image-coordinate-uncertainty-meters | The average/static uncertainty of coordinates in this dataset, given in meters. Computed e.g. as the standard deviation of coordinate corrections during smoothing / splining. |
| image-context | The overarching project context within which the image set was created |
| image-project | The more specific project or expedition or cruise or experiment or … within which the image set was created. |
| image-event | One event of a project or expedition or cruise or experiment or … that led to the creation of this image set. |
| image-platform | A URI pointing to a description of the camera platform used to create this image set |
| image-sensor | A URI pointing to a description of the sensor used to create this image set. |
| image-pi | Information to identify the principal investigator |
| image-creators | A list containing dicts for all creators containing: |
| image-license | A URL pointing to the license to use the data (should be FAIR, e.g. CC-BY or CC-0) |
| image-copyright | Copyright statement or contact person or office |
| image-abstract | 500 - 2000 characters describing what, when, where, why and how the data was collected. Includes general information on the event (aka station, experiment), e.g. overlap between images/frames, parameters on platform movement, aims, purpose of image capture etc. |
Image Set Items#
The image-set-items object maps the filenames of the image items of the image set to their information. The information
is given either as an Image Item if the item is a still image or Video Item if the item is a video.
Image Item#
The image item object contains the information for a still image and can contain any field defined by iFDO Core, iFDO Capture and iFDO Content as default values for the hole image set.
To uniquely identify the image by other means then the file name the following fields must be provided.
Required Fields#
| Field | Description |
|---|---|
| image-uuid | A (random) UUID for the individual image file (still or moving). This UUID needs to be embedded within the image files. For still images in the exif tag ‘ImageUniqueID’, for videos in the XMP tag ‘identifier’ in the Dublin Core namespace. For Matroska video containers the first ‘Segment UID’ is used. |
| image-hash-sha256 | An SHA256 hash to represent the whole file (including UUID in file metadata header!) to verify integrity on disk |
| image-handle | The URI pointing to a downloadable version of the image data |
Video Item#
The video item array allows to specify information for the hole video file in its first entry, the Video Header and information which changes over time in the following entries using the Video Frames.
Video Header#
The video header object is structurally identical to the Image Item, but functionally also provides default values for the rest of the Video Frames.
Required Fields#
| Field | Description |
|---|---|
| image-uuid | A (random) UUID for the individual image file (still or moving). This UUID needs to be embedded within the image files. For still images in the exif tag ‘ImageUniqueID’, for videos in the XMP tag ‘identifier’ in the Dublin Core namespace. For Matroska video containers the first ‘Segment UID’ is used. |
| image-hash-sha256 | An SHA256 hash to represent the whole file (including UUID in file metadata header!) to verify integrity on disk |
| image-handle | The URI pointing to a downloadable version of the image data |
Video Frames#
The video frame object can be used to specify information varying over the duration of the video. It can contain
any field defined by iFDO Core, iFDO Capture and iFDO Content.
Required Fields#
| Field | Description |
|---|---|
| image-datetime | Full UTC datetime of image acquisition (or start time of a video) as in ISO8601. The default format here is ‘YYYY-MM-DD hh:mm:ss.sss’ with a space between date and time as in ISO 8601:2004. Other formats may be used if defined in the field ‘image-datetime-format’. |