Public Member Functions | |
Kinect2Bridge (const ros::NodeHandle &nh=ros::NodeHandle(), const ros::NodeHandle &priv_nh=ros::NodeHandle("~")) | |
bool | start () |
void | stop () |
Private Types | |
enum | Image { IR_SD = 0, IR_SD_RECT, DEPTH_SD, DEPTH_SD_RECT, DEPTH_HD, DEPTH_QHD, COLOR_SD_RECT, COLOR_HD, COLOR_HD_RECT, COLOR_QHD, COLOR_QHD_RECT, MONO_HD, MONO_HD_RECT, MONO_QHD, MONO_QHD_RECT, COUNT } |
enum | Status { UNSUBCRIBED = 0, RAW, COMPRESSED, BOTH } |
Private Member Functions | |
void | callbackStatus () |
void | createCameraInfo () |
void | createCameraInfo (const cv::Size &size, const cv::Mat &cameraMatrix, const cv::Mat &distortion, const cv::Mat &rotation, const cv::Mat &projection, sensor_msgs::CameraInfo &cameraInfo) const |
void | createCompressed (const cv::Mat &image, const std_msgs::Header &header, const Image type, sensor_msgs::CompressedImage &msgImage) const |
std_msgs::Header | createHeader (ros::Time &last, ros::Time &other) |
void | createImage (const cv::Mat &image, const std_msgs::Header &header, const Image type, sensor_msgs::Image &msgImage) const |
void | initCalibration (const std::string &calib_path, const std::string &sensor) |
void | initCompression (const int32_t jpegQuality, const int32_t pngLevel, const bool use_png) |
void | initConfig (const bool bilateral_filter, const bool edge_aware_filter, const double minDepth, const double maxDepth) |
bool | initDevice (std::string &sensor) |
bool | initialize () |
bool | initPipeline (const std::string &method, const int32_t device) |
bool | initRegistration (const std::string &method, const int32_t device, const double maxDepth) |
void | initTopics (const int32_t queueSize, const std::string &base_name) |
bool | loadCalibrationDepthFile (const std::string &filename, double &depthShift) const |
bool | loadCalibrationFile (const std::string &filename, cv::Mat &cameraMatrix, cv::Mat &distortion) const |
bool | loadCalibrationPoseFile (const std::string &filename, cv::Mat &rotation, cv::Mat &translation) const |
void | main () |
void | processColor (std::vector< cv::Mat > &images, const std::vector< Status > &status) |
void | processIrDepth (const cv::Mat &depth, std::vector< cv::Mat > &images, const std::vector< Status > &status) |
void | publishImages (const std::vector< cv::Mat > &images, const std_msgs::Header &header, const std::vector< Status > &status, const size_t frame, size_t &pubFrame, const size_t begin, const size_t end) |
void | publishStaticTF () |
void | receiveColor () |
bool | receiveFrames (libfreenect2::SyncMultiFrameListener *listener, libfreenect2::FrameMap &frames) |
void | receiveIrDepth () |
void | threadDispatcher (const size_t id) |
bool | updateStatus (bool &isSubscribedColor, bool &isSubscribedDepth) |
Static Private Member Functions | |
static void | setThreadName (const std::string &name) |
Private Attributes | |
std::string | baseNameTF |
cv::Mat | cameraMatrixColor |
cv::Mat | cameraMatrixDepth |
cv::Mat | cameraMatrixIr |
cv::Mat | cameraMatrixLowRes |
bool | clientConnected |
libfreenect2::Frame | color |
libfreenect2::Freenect2Device::ColorCameraParams | colorParams |
std::vector< ros::Publisher > | compressedPubs |
std::string | compression16BitExt |
std::string | compression16BitString |
std::vector< int > | compressionParams |
double | deltaT |
DepthRegistration * | depthRegHighRes |
DepthRegistration * | depthRegLowRes |
double | depthShift |
libfreenect2::Freenect2Device * | device |
bool | deviceActive |
cv::Mat | distortionColor |
cv::Mat | distortionDepth |
cv::Mat | distortionIr |
double | elapsedTimeColor |
double | elapsedTimeIrDepth |
size_t | frameColor |
size_t | frameIrDepth |
libfreenect2::Freenect2 | freenect2 |
std::vector< ros::Publisher > | imagePubs |
sensor_msgs::CameraInfo | infoHD |
ros::Publisher | infoHDPub |
sensor_msgs::CameraInfo | infoIR |
ros::Publisher | infoIRPub |
sensor_msgs::CameraInfo | infoQHD |
ros::Publisher | infoQHDPub |
libfreenect2::Freenect2Device::IrCameraParams | irParams |
bool | isSubscribedColor |
bool | isSubscribedDepth |
ros::Time | lastColor |
ros::Time | lastDepth |
libfreenect2::SyncMultiFrameListener * | listenerColor |
libfreenect2::SyncMultiFrameListener * | listenerIrDepth |
std::mutex | lockColor |
std::mutex | lockIrDepth |
std::mutex | lockPub |
std::mutex | lockRegHighRes |
std::mutex | lockRegLowRes |
std::mutex | lockRegSD |
std::mutex | lockStatus |
std::mutex | lockSync |
std::mutex | lockTime |
std::thread | mainThread |
cv::Mat | map1Color |
cv::Mat | map1Ir |
cv::Mat | map1LowRes |
cv::Mat | map2Color |
cv::Mat | map2Ir |
cv::Mat | map2LowRes |
bool | nextColor |
bool | nextIrDepth |
ros::NodeHandle | nh |
libfreenect2::PacketPipeline * | packetPipeline |
ros::NodeHandle | priv_nh |
size_t | pubFrameColor |
size_t | pubFrameIrDepth |
bool | publishTF |
libfreenect2::Registration * | registration |
cv::Mat | rotation |
bool | running |
cv::Size | sizeColor |
cv::Size | sizeIr |
cv::Size | sizeLowRes |
std::vector< Status > | status |
std::thread | tfPublisher |
std::vector< std::thread > | threads |
cv::Mat | translation |
Copyright 2014 University of Bremen, Institute for Artificial Intelligence Author: Thiemo Wiedemeyer wiede meye r@cs. uni- breme n.de
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition at line 60 of file kinect2_bridge.cpp.
|
private |
Enumerator | |
---|---|
IR_SD | |
IR_SD_RECT | |
DEPTH_SD | |
DEPTH_SD_RECT | |
DEPTH_HD | |
DEPTH_QHD | |
COLOR_SD_RECT | |
COLOR_HD | |
COLOR_HD_RECT | |
COLOR_QHD | |
COLOR_QHD_RECT | |
MONO_HD | |
MONO_HD_RECT | |
MONO_QHD | |
MONO_QHD_RECT | |
COUNT |
Definition at line 99 of file kinect2_bridge.cpp.
|
private |
Enumerator | |
---|---|
UNSUBCRIBED | |
RAW | |
COMPRESSED | |
BOTH |
Definition at line 123 of file kinect2_bridge.cpp.
|
inline |
Definition at line 137 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 776 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 729 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 744 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1416 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1147 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1374 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 629 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 461 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 451 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 521 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 224 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 379 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 331 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 484 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 713 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 679 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 696 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 875 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1231 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1168 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1266 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1451 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1050 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 1124 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 986 of file kinect2_bridge.cpp.
|
inlinestaticprivate |
Definition at line 1484 of file kinect2_bridge.cpp.
|
inline |
Definition at line 145 of file kinect2_bridge.cpp.
|
inline |
Definition at line 173 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 945 of file kinect2_bridge.cpp.
|
inlineprivate |
Definition at line 835 of file kinect2_bridge.cpp.
|
private |
Definition at line 64 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 97 of file kinect2_bridge.cpp.
|
private |
Definition at line 67 of file kinect2_bridge.cpp.
|
private |
Definition at line 85 of file kinect2_bridge.cpp.
|
private |
Definition at line 131 of file kinect2_bridge.cpp.
|
private |
Definition at line 64 of file kinect2_bridge.cpp.
|
private |
Definition at line 64 of file kinect2_bridge.cpp.
|
private |
Definition at line 63 of file kinect2_bridge.cpp.
|
private |
Definition at line 96 of file kinect2_bridge.cpp.
|
private |
Definition at line 90 of file kinect2_bridge.cpp.
|
private |
Definition at line 90 of file kinect2_bridge.cpp.
|
private |
Definition at line 96 of file kinect2_bridge.cpp.
|
private |
Definition at line 81 of file kinect2_bridge.cpp.
|
private |
Definition at line 97 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 68 of file kinect2_bridge.cpp.
|
private |
Definition at line 96 of file kinect2_bridge.cpp.
|
private |
Definition at line 96 of file kinect2_bridge.cpp.
|
private |
Definition at line 92 of file kinect2_bridge.cpp.
|
private |
Definition at line 92 of file kinect2_bridge.cpp.
|
private |
Definition at line 80 of file kinect2_bridge.cpp.
|
private |
Definition at line 131 of file kinect2_bridge.cpp.
|
private |
Definition at line 133 of file kinect2_bridge.cpp.
|
private |
Definition at line 132 of file kinect2_bridge.cpp.
|
private |
Definition at line 133 of file kinect2_bridge.cpp.
|
private |
Definition at line 132 of file kinect2_bridge.cpp.
|
private |
Definition at line 133 of file kinect2_bridge.cpp.
|
private |
Definition at line 132 of file kinect2_bridge.cpp.
|
private |
Definition at line 86 of file kinect2_bridge.cpp.
|
private |
Definition at line 97 of file kinect2_bridge.cpp.
|
private |
Definition at line 97 of file kinect2_bridge.cpp.
|
private |
Definition at line 93 of file kinect2_bridge.cpp.
|
private |
Definition at line 93 of file kinect2_bridge.cpp.
|
private |
Definition at line 82 of file kinect2_bridge.cpp.
|
private |
Definition at line 82 of file kinect2_bridge.cpp.
|
private |
Definition at line 73 of file kinect2_bridge.cpp.
|
private |
Definition at line 73 of file kinect2_bridge.cpp.
|
private |
Definition at line 74 of file kinect2_bridge.cpp.
|
private |
Definition at line 75 of file kinect2_bridge.cpp.
|
private |
Definition at line 75 of file kinect2_bridge.cpp.
|
private |
Definition at line 75 of file kinect2_bridge.cpp.
|
private |
Definition at line 74 of file kinect2_bridge.cpp.
|
private |
Definition at line 74 of file kinect2_bridge.cpp.
|
private |
Definition at line 74 of file kinect2_bridge.cpp.
|
private |
Definition at line 78 of file kinect2_bridge.cpp.
|
private |
Definition at line 70 of file kinect2_bridge.cpp.
|
private |
Definition at line 70 of file kinect2_bridge.cpp.
|
private |
Definition at line 70 of file kinect2_bridge.cpp.
|
private |
Definition at line 70 of file kinect2_bridge.cpp.
|
private |
Definition at line 70 of file kinect2_bridge.cpp.
|
private |
Definition at line 70 of file kinect2_bridge.cpp.
|
private |
Definition at line 95 of file kinect2_bridge.cpp.
|
private |
Definition at line 95 of file kinect2_bridge.cpp.
|
private |
Definition at line 88 of file kinect2_bridge.cpp.
|
private |
Definition at line 83 of file kinect2_bridge.cpp.
|
private |
Definition at line 88 of file kinect2_bridge.cpp.
|
private |
Definition at line 92 of file kinect2_bridge.cpp.
|
private |
Definition at line 92 of file kinect2_bridge.cpp.
|
private |
Definition at line 77 of file kinect2_bridge.cpp.
|
private |
Definition at line 84 of file kinect2_bridge.cpp.
|
private |
Definition at line 69 of file kinect2_bridge.cpp.
|
private |
Definition at line 97 of file kinect2_bridge.cpp.
|
private |
Definition at line 66 of file kinect2_bridge.cpp.
|
private |
Definition at line 66 of file kinect2_bridge.cpp.
|
private |
Definition at line 66 of file kinect2_bridge.cpp.
|
private |
Definition at line 134 of file kinect2_bridge.cpp.
|
private |
Definition at line 78 of file kinect2_bridge.cpp.
|
private |
Definition at line 72 of file kinect2_bridge.cpp.
|
private |
Definition at line 69 of file kinect2_bridge.cpp.