cisstStereoVision API

cisstStereoVision (SVL) is an image/video stream processing library built on the cisstMultiTask component framework. Processing elements are called filters and are connected into streams managed by a svlStreamManager.

Key classes

class svlFilterBase : public mtsComponent

Subclassed by svlFilterAddLatency, svlFilterCUDATest, svlFilterCapFramerate, svlFilterComputationalStereo, svlFilterDisparityMapToSurface, svlFilterFrameTimeSync, svlFilterImageBlobDetector, svlFilterImageBlobTracker, svlFilterImageBorder, svlFilterImageCameraCalibrationOpenCV, svlFilterImageCenterFinder, svlFilterImageChannelSwapper, svlFilterImageColorConverter, svlFilterImageColorSegmentation, svlFilterImageConvolution, svlFilterImageCropper, svlFilterImageDeinterlacer, svlFilterImageDilation, svlFilterImageErosion, svlFilterImageExposureCorrection, svlFilterImageFileWriter, svlFilterImageFlipRotate, svlFilterImageOpenGL, svlFilterImageOverlay, svlFilterImageQtWidget, svlFilterImageRectifier, svlFilterImageResizer, svlFilterImageSampler, svlFilterImageThresholding, svlFilterImageTracker, svlFilterImageTranslation, svlFilterImageUnsharpMask, svlFilterImageWindow, svlFilterImageWindowQt, svlFilterImageWindowQtStereo, svlFilterImageZoom, svlFilterLightSourceBuddy, svlFilterSampler, svlFilterSourceBase, svlFilterSplitter, svlFilterStereoImageJoiner, svlFilterStereoImageOptimizer, svlFilterStereoImageSplitter, svlFilterStreamTypeConverter, svlFilterToolTracker, svlFilterVideoExposureManager, svlFilterVideoFileWriter

Public Functions

svlFilterBase(void)
virtual ~svlFilterBase()
bool IsInitialized(void) const
bool IsRunning(void) const
unsigned int GetFrameCounter(void) const
svlFilterInput *GetInput(void) const
svlFilterOutput *GetOutput(void) const
svlFilterInput *GetInput(const std::string &inputname) const
svlFilterOutput *GetOutput(const std::string &outputname) const
void SetEnable(const bool &enable)
void GetEnable(bool &enable) const
void Enable()
void Disable()
bool IsEnabled() const
bool IsDisabled() const
class svlStreamManager : public mtsComponent

Public Functions

svlStreamManager()
svlStreamManager(unsigned int threadcount)
~svlStreamManager()
int SetSourceFilter(svlFilterSourceBase *source)
int Initialize(void)
void Release(void)
bool IsInitialized(void) const
int Play(void)
void Stop(void)
bool IsRunning(void) const
int WaitForStop(double timeout = -1.0)
int GetStreamStatus(void) const
void DisconnectAll(void)
inline void Start(void)
inline void Suspend(void)
class svlFilterImageWindow : public svlFilterBase

Subclassed by svlFilterImageWindowTargetSelect

Public Functions

svlFilterImageWindow()
virtual ~svlFilterImageWindow()
virtual int SetPosition(const int x, const int y, const unsigned int videoch = SVL_LEFT)
virtual int GetPosition(int &x, int &y, unsigned int videoch = SVL_LEFT) const
virtual void SetEventHandler(svlWindowEventHandlerBase *handler)
virtual void SetFullScreen(const bool &fullscreen)
virtual void SetTitle(const std::string &title)
inline virtual void GetIsVisible(bool &show) const
virtual void GetFullScreen(bool &fullscreen) const
virtual void GetTitle(std::string &title) const
virtual void Show(unsigned int videoch = SVL_LEFT)
virtual void Hide(unsigned int videoch = SVL_LEFT)
class svlFilterSplitter : public svlFilterBase

Public Types

typedef svlFilterSplitterTypes::OutputInfo OutputInfo

Public Functions

svlFilterSplitter()
int AddOutput(const std::string &name, const unsigned int threadcount = 1, const unsigned int buffersize = 1)
class svlCameraGeometry

Public Types

typedef struct svlCameraGeometry::_Intrinsics Intrinsics
typedef struct svlCameraGeometry::_Extrinsics Extrinsics

Public Functions

void SetIntrinsics(const Intrinsics &intrinsics, const unsigned int cam_id = 0)
void SetIntrinsics(const double fc[2], const double cc[2], const double a, const double kc[5], const unsigned int cam_id = 0)
void SetIntrinsics(const double fcx, const double fcy, const double ccx, const double ccy, const double a, const double kc0, const double kc1, const double kc2, const double kc3, const double kc4, const unsigned int cam_id = 0)
void SetExtrinsics(const Extrinsics &extrinsics, const unsigned int cam_id = 0)
void SetExtrinsics(const double om[3], const double T[3], const unsigned int cam_id = 0)
void SetExtrinsics(const double om0, const double om1, const double om2, const double T0, const double T1, const double T2, const unsigned int cam_id = 0)
void SetPerspective(const double focallength, const unsigned int width, const unsigned int height, const unsigned int cam_id = 0)
int LoadCalibration(const std::string &filepath)
int GetIntrinsics(Intrinsics &intrinsics, const unsigned int cam_id = 0) const
Intrinsics GetIntrinsics(const unsigned int cam_id = 0) const
const Intrinsics *GetIntrinsicsPtr(const unsigned int cam_id = 0) const
int GetIntrinsics(double &fcx, double &fcy, double &ccx, double &ccy, double &a, double &kc0, double &kc1, double &kc2, double &kc3, double &kc4, const unsigned int cam_id = 0)
int GetExtrinsics(Extrinsics &extrinsics, const unsigned int cam_id = 0) const
Extrinsics GetExtrinsics(const unsigned int cam_id = 0) const
const Extrinsics *GetExtrinsicsPtr(const unsigned int cam_id = 0) const
int GetExtrinsics(double &om0, double &om1, double &om2, double &T0, double &T1, double &T2, const unsigned int cam_id = 0)
int GetPosition(vctDouble3 &position, const unsigned int cam_id = 0) const
int GetAxis(vctDouble3 &axis, const unsigned int cam_id = 0) const
int GetViewUp(vctDouble3 &viewup, const unsigned int cam_id = 0) const
int GetPositionAxisViewUp(vctDouble3 &position, vctDouble3 &axis, vctDouble3 &viewup, const unsigned int cam_id = 0) const
double GetViewAngleHorizontal(double imagewidth, const unsigned int cam_id = 0) const
double GetViewAngleVertical(double imageheight, const unsigned int cam_id = 0) const
int IsCameraPerspective(const unsigned int cam_id) const
int IsCameraPairRectified(const unsigned int cam_id1, const unsigned int cam_id2) const
int SetWorldToCenter()
int RotateWorldAboutY(double degrees)
int RotateWorldAboutZ(double degrees)
void Wrld2Cam(const unsigned int cam_id, vctDouble2 &point2D, const vctDouble3 &point3D)
vctDouble2 Wrld2Cam(const unsigned int cam_id, const vctDouble3 &point3D)
template<class _ValueType>
void Cam2Wrld(vctFixedSizeVector<_ValueType, 3> &point3D, const unsigned int cam_id1, const vctFixedSizeVector<_ValueType, 2> &point2D_1, const unsigned int cam_id2, const vctFixedSizeVector<_ValueType, 2> &point2D_2)
template<class _ValueType>
vctFixedSizeVector<_ValueType, 3> Cam2Wrld(const unsigned int cam_id1, const vctFixedSizeVector<_ValueType, 2> &point2D_1, const unsigned int cam_id2, const vctFixedSizeVector<_ValueType, 2> &point2D_2)
void Empty()

Friends

friend std::ostream &operator<<(std::ostream &stream, const svlCameraGeometry &objref)
struct _Extrinsics

Public Members

vctDoubleRodRot3 om
vctDouble3 T
vctDoubleFrm4x4 frame

Friends

friend std::ostream &operator<<(std::ostream &stream, const _Extrinsics &objref)
struct _Intrinsics

Public Members

double fc[2]
double cc[2]
double a
double kc[5]

Friends

friend std::ostream &operator<<(std::ostream &stream, const _Intrinsics &objref)
class svlBufferSample

Public Functions

svlBufferSample(svlStreamType type)
svlBufferSample(const svlSample &sample)
~svlBufferSample()
svlStreamType GetType() const
int Push(const svlSample *sample)
svlSample *GetPushBuffer()
void Push()
svlSample *Pull(bool waitfornew, double timeout = 5.0)