"""
Author: Ismael Seidel
Affiliation: Embedded Computing Lab (ECL), Federal University of Santa Catarina (UFSC)
Description:
This module handles the execution of all processing scripts in sequence,
handling format conversions, codec execution, quality metrics computation, and visualization.
"""
from lfc_toolkit.src import (compute_quality_metrics, equivalence_check,
generate_heatmaps, generate_rd_plots, run_codecs,
yuv_and_pgx_from_ppm)
# TODO: read the scripts from the configuration file
scripts = [
"yuv_and_pgx_from_ppm",
"run_codecs",
"equivalence_check",
"compute_quality_metrics",
"generate_rd_plots",
"generate_heatmaps",
]
[docs]
def main() -> None:
"""Execute all processing scripts in sequence.
This function orchestrates the complete pipeline for light field processing:
1. Converts light fields to YUV and PGX formats
2. Encodes light fields using specified codecs
3. Performs equivalence checks on encoded/decoded files
4. Computes quality metrics
5. Generates R-D plots
6. Generates quality heatmaps
:return: None
:rtype: None
"""
if "yuv_and_pgx_from_ppm" in scripts:
yuv_and_pgx_from_ppm.main()
if "run_codecs" in scripts:
run_codecs.main()
if "equivalence_check" in scripts:
equivalence_check.main()
if "compute_quality_metrics" in scripts:
compute_quality_metrics.main()
if "generate_rd_plots" in scripts:
generate_rd_plots.main()
if "generate_heatmaps" in scripts:
generate_heatmaps.main()
print("All scripts executed successfully.")
if __name__ == "__main__":
main()