align.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2017 Intel Corporation. All Rights Reserved.
3 #pragma once
4 
5 #include "synthetic-stream.h"
6 
7 #include <src/basics.h>
8 #include <map>
9 #include <utility>
10 
11 
12 namespace librealsense
13 {
15  {
16  public:
17  align(rs2_stream to_stream);
18  static std::shared_ptr<align> create_align(rs2_stream align_to);
19 
20  protected:
21  align(rs2_stream to_stream, const char* name)
23  _to_stream_type(to_stream), _depth_scale(0)
24  {}
25 
26  bool should_process(const rs2::frame& frame) override;
28 
29  virtual void reset_cache(rs2_stream from, rs2_stream to) {}
30 
31  virtual void align_z_to_other(rs2::video_frame& aligned,
32  const rs2::video_frame& depth,
34  float z_scale);
35 
36  virtual void align_other_to_z(rs2::video_frame& aligned,
37  const rs2::video_frame& depth,
38  const rs2::video_frame& other,
39  float z_scale);
40 
41  virtual rs2_extension select_extension(const rs2::frame& input);
42 
43  std::shared_ptr<rs2::video_stream_profile> create_aligned_profile(
44  rs2::video_stream_profile& original_profile,
46 
48  std::map<std::pair<stream_profile_interface*, stream_profile_interface*>, std::shared_ptr<rs2::video_stream_profile>> _align_stream_unique_ids;
50  float _depth_scale;
51 
52  private:
53  rs2::video_frame allocate_aligned_frame(const rs2::frame_source& source, const rs2::video_frame& from, const rs2::video_frame& to);
54  void align_frames(rs2::video_frame& aligned, const rs2::video_frame& from, const rs2::video_frame& to);
55  };
56 }
librealsense
Definition: algo.h:18
librealsense::align::_to_stream_type
rs2_stream _to_stream_type
Definition: align.h:47
rs2::frame
Definition: rs_frame.hpp:345
rs2::frame_source
Definition: rs_processing.hpp:18
rs-imu-calibration.input
input
Definition: rs-imu-calibration.py:35
rs2::stream_profile
Definition: rs_frame.hpp:22
rs2_extension
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:134
LRS_EXTENSION_API
#define LRS_EXTENSION_API
Definition: basics.h:23
librealsense::align::_align_stream_unique_ids
std::map< std::pair< stream_profile_interface *, stream_profile_interface * >, std::shared_ptr< rs2::video_stream_profile > > _align_stream_unique_ids
Definition: align.h:48
librealsense::align::_depth_scale
float _depth_scale
Definition: align.h:50
librealsense::align::reset_cache
virtual void reset_cache(rs2_stream from, rs2_stream to)
Definition: align.h:29
rs2::video_stream_profile
Definition: rs_frame.hpp:201
f
GLdouble f
Definition: glad/glad/glad.h:1517
test-post-processing-from-bag.process_frame
def process_frame(frame, frame_source)
Definition: test-post-processing-from-bag.py:28
synthetic-stream.h
test-post-processing-from-bag.align
align
Definition: test-post-processing-from-bag.py:108
name
GLuint const GLchar * name
Definition: glad/glad/glad.h:2777
librealsense::to_profile
stream_profile to_profile(const stream_profile_interface *sp)
Definition: src/stream.h:222
pyglet_pointcloud_viewer.other_profile
other_profile
Definition: pyglet_pointcloud_viewer.py:156
librealsense::align::align
align(rs2_stream to_stream, const char *name)
Definition: align.h:21
source
GLsizei GLsizei GLchar * source
Definition: glad/glad/glad.h:2828
librealsense::frame
Definition: frame.h:19
librealsense::align
Definition: align.h:14
rs2::video_frame
Definition: rs_frame.hpp:638
basics.h
align-depth2color.align_to
align_to
Definition: align-depth2color.py:56
librealsense::generic_processing_block
Definition: synthetic-stream.h:71
rs2_stream
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:43
librealsense::align::_source_stream_profile
rs2::stream_profile _source_stream_profile
Definition: align.h:49
depth
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glad/glad/glad.h:2398


librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Mon Apr 22 2024 02:12:55