diff --git a/src/frame_base.h b/src/frame_base.h
index 91be417bc23bd8c5eeb397b7a0f5521fef928bd9..d96a8fead8698b86a47fead5c94162141cf703df 100644
--- a/src/frame_base.h
+++ b/src/frame_base.h
@@ -133,6 +133,7 @@ class FrameBase : public NodeBase, public std::enable_shared_from_this<FrameBase
         CaptureBaseList& getCaptureList();
         CaptureBasePtr addCapture(CaptureBasePtr _capt_ptr);
         CaptureBasePtr getCaptureOf(const SensorBasePtr _sensor_ptr);
+        CaptureBasePtr getCaptureOf(const SensorBasePtr _sensor_ptr, const std::string& type);
         CaptureBaseList getCapturesOf(const SensorBasePtr _sensor_ptr);
         void unlinkCapture(CaptureBasePtr _cap_ptr);
 
@@ -318,6 +319,16 @@ inline CaptureBasePtr FrameBase::getCaptureOf(const SensorBasePtr _sensor_ptr)
     return nullptr;
 }
 
+inline CaptureBasePtr
+FrameBase::getCaptureOf(const SensorBasePtr _sensor_ptr, const std::string& type)
+{
+  for (CaptureBasePtr capture_ptr : getCaptureList())
+      if (capture_ptr->getSensorPtr() == _sensor_ptr &&
+          capture_ptr->getType() == type)
+          return capture_ptr;
+  return nullptr;
+}
+
 inline CaptureBaseList FrameBase::getCapturesOf(const SensorBasePtr _sensor_ptr)
 {
     CaptureBaseList captures;