Source code for src.performance.auxiliary.md5_from_pgx

"""
Author: Leonardo de Sousa Marques
Affiliation: Embedded Computing Lab (ECL), Federal University of Santa Catarina (UFSC)

Description:
    Script to get the MD5 checksum from a Light Field stored in PGX format.
"""

import os
import sys
from pathlib import Path

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))

from typing import Optional

from lfc_toolkit.src.data_handlers.lightfield import LightField, RAW_BT709_FR_PGX_LightField_Data


[docs] def get_md5_from_pgx(lightfield: LightField, pgx_path: Path) -> Optional[str]: """Computes the MD5 checksum of a light field stored in PGX format. :param lightfield: Light field metadata :type lightfield: LightField :param pgx_path: Path to the PGX light field directory :type pgx_path: Path :return: MD5 hash string, or None if raw_path is undefined :rtype: Optional[str] """ lf_data = RAW_BT709_FR_PGX_LightField_Data( lightfield=lightfield, pgx_path=pgx_path ) return lf_data.get_md5()
[docs] def main() -> None: if len(sys.argv) != 6: print("<pgx_path> <lightfield_name> <view_width> <view_height> <n_views_width> <n_views_height>") return pgx_path = Path(sys.argv[1]) name = sys.argv[2] view_width = int(sys.argv[3]) view_height = int(sys.argv[4]) n_views_width = int(sys.argv[5]) n_views_height = int(sys.argv[6]) lf = LightField(name=name, view_width=view_width, view_height=view_height, n_views_width=n_views_width, n_views_height=n_views_height) print(f"MD5 from PGX: {get_md5_from_pgx(lightfield=lf, pgx_path=pgx_path)}")
if __name__ == "__main__": main()