Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancements to the infinite-ISP Pipeline #4

Merged
merged 5 commits into from
Sep 4, 2023

Conversation

bakhtawar-10xe
Copy link
Contributor

New Features:

This pull request introduces several significant enhancements to the infinite-ISP pipeline, streamlining its structure and adding new functionality. Below are the key features included in this PR:

  1. Infinite_ISP Class Refactor:

    • The isp_pipeline function has been deprecated and replaced with a more organized and modular approach.
    • We have introduced an Infinite_ISP class that encapsulates the ISP processing logic.
    • This class is now utilized within both isp_pipeline and isp_pipeline_dataset, promoting code reusability and maintainability.
  2. Merging of isp_pipeline_dataset and video_processing Scripts:

    • We have merged the isp_pipeline_dataset and video_processing scripts into a single cohesive module.
    • This consolidation not only simplifies the codebase but also improves the overall user experience.
    • Additionally, we've added advanced functionality that allows the configuration file to be automatically updated.
    • The automation process extracts information from the .raw file name or metadata from various raw formats such as .NEF or .DNG, enabling a more seamless and user-friendly workflow.
  3. Save Functionality

  • Each ISP module now includes a save() functionality.
  • The save() function is designed for debugging purposes and allows users to save the output of each ISP module for further analysis and troubleshooting.
  • To use the save() function, set the is_save flag of the respective module in the config file to true, and the output will be saved in a designated directory, providing valuable insights into the intermediate results of the ISP pipeline.

Implementation Details:

  • The Infinite_ISP class is now responsible for handling ISP processing, encapsulating all related functions and logic.
  • We've ensured backward compatibility by maintaining the isp_pipeline function and integrating it with the new class.
  • The merging of isp_pipeline_dataset and video_processing scripts simplifies the codebase and reduces redundancy.
  • To achieve automatic configuration updates, we've added code to extract relevant information from file names and metadata of different raw formats.

Testing:

  • Thorough testing has been conducted to validate the functionality of the enhanced pipeline.

Documentation:

  • Documentation updates have been made to reflect the changes introduced by this PR.
  • New sections detailing the usage of the Infinite_ISP class and the automated configuration update process have been included in the documentation.

@bakhtawar-10xe bakhtawar-10xe merged commit 9bdb4c0 into main Sep 4, 2023
1 check passed
@sohaibimran-10xe sohaibimran-10xe deleted the version_1.0_restructuring branch August 19, 2024 13:15
sohaibimran-10xe pushed a commit that referenced this pull request Aug 21, 2024
Simple changes only in CSC and 2DNR block.

* Copy of infiniteISP v1.1

* Update CCM for RTL, change CCM matrix from config

* Update CSC for RTL, change np.round

* remove float32

* disable sharpen, enable linearization

* change CSC 8 bit division

* rounding off after 2**4 division

* int32 change in 2DNR

* change division to float64

* rounding off logic after division

---------

Co-authored-by: taimur-10xe <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants