Skip to content

Comments

feat(pipeline): add sequential processor#30

Draft
ktro2828 wants to merge 4 commits intomainfrom
feat/pipeline/sequntial
Draft

feat(pipeline): add sequential processor#30
ktro2828 wants to merge 4 commits intomainfrom
feat/pipeline/sequntial

Conversation

@ktro2828
Copy link
Contributor

@ktro2828 ktro2828 commented Feb 19, 2026

PR Type

  • New Feature

Related Links

Description

This pull request introduces a new Sequential processor to the accelerated image processor pipeline, enabling the composition and sequential execution of multiple image processors. It also updates the build system and documentation to support and explain this new feature, and adds relevant tests and examples. Additionally, there are some improvements to camera info handling and dependency management.

Major new functionality:

  • Added the Sequential processor, which allows chaining multiple processors and executing them in order. Includes support for registering post-processing callbacks and propagating camera info through the pipeline. [1] [2]
  • Added an example usage of the Sequential processor in examples/example_sequential.cpp and updated the documentation with usage instructions. [1] [2]

Build system and dependency updates:

  • Updated CMakeLists.txt to build and test the new Sequential processor, add the example, and link against the new compression dependency. [1] [2] [3]
  • Added the compression package as a dependency in package.xml.

Camera info handling improvements:

  • Refactored camera info handling in BaseProcessor and Rectifier to allow for better integration with the new sequential pipeline. [1] [2] [3]

Testing improvements:

  • Added unit tests for the Sequential processor, including cases for appending processors with and without callback functions.
  • Refactored dummy test utilities for postprocess function registration. [1] [2]

Other updates:

  • Included the sequential.hpp header in the ROS parameter header for broader integration.

The example usage of Sequential is as follows (see examples/example_sequential.cpp for details):

pipeline::Sequential sequential;

// Pipeline: Rectification -> [Info] -> JPEG Compression -> [Info] -> [Finish]
sequential.append<pipeline::Rectifier>("rectifier", &print_info)
  .append<compression::Compressor>("compressor", &print_info, "jpeg")
  .register_postprocess(&print_finish);

// Set camera info for rectification
sequential.set_camera_info(camera_info);

sequential.process(image);

Review Procedure

Remarks

Pre-Review Checklist for the PR Author

PR Author should check the checkboxes below when creating the PR.

  • Assign PR to reviewer

Checklist for the PR Reviewer

Reviewers should check the checkboxes below before approval.

  • Commits are properly organized and messages are according to the guideline
  • (Optional) Unit tests have been written for new behavior
  • PR title describes the changes

Post-Review Checklist for the PR Author

PR Author should check the checkboxes below before merging.

  • All open points are addressed and tracked via issues or tickets

CI Checks

  • Build and test for PR: Required to pass before the merge.

Signed-off-by: ktro2828 <kotaro.uetake@tier4.jp>
Signed-off-by: ktro2828 <kotaro.uetake@tier4.jp>
Signed-off-by: ktro2828 <kotaro.uetake@tier4.jp>
@ktro2828 ktro2828 force-pushed the feat/pipeline/sequntial branch from c550c7d to 8a350c5 Compare February 20, 2026 04:56
Signed-off-by: ktro2828 <kotaro.uetake@tier4.jp>
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.

1 participant