/usr/include/IGSTK/igstkOpenIGTLinkVideoImager.h is in libigstk4-dev 4.4.0-2build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | /*=========================================================================
Program: Image Guided Surgery Software Toolkit
Module: $RCSfile: igstkOpenIGTLinkVideoImager.h,v $
Language: C++
Date: $Date: 2009-06-18 18:40:55 $
Version: $Revision: 1.1 $
Copyright (c) ISC Insight Software Consortium. All rights reserved.
See IGSTKCopyright.txt or http://www.igstk.org/copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __igstkOpenIGTLinkVideoImager_h
#define __igstkOpenIGTLinkVideoImager_h
#ifdef _MSC_VER
#pragma warning ( disable : 4018 )
//Warning about: identifier was truncated to '255' characters in the debug
//information (MVC6.0 Debug)
#pragma warning( disable : 4284 )
#endif
#include "igstkVideoImager.h"
#include "igstkOpenIGTLinkVideoImagerTool.h"
#include "igtlServerSocket.h"
#include "igtlImageMessage.h"
#include <map>
class vtkImageData;
namespace igstk {
/** \class OpenIGTLinkVideoImager
* \brief This imager provides support for socket communication (using the
* Open IGTLink protocol) to the OpenIGTLink system
*
* \ingroup VideoImager
*/
class OpenIGTLinkVideoImager : public VideoImager
{
public:
/** Macro with standard traits declarations. */
igstkStandardClassTraitsMacro( OpenIGTLinkVideoImager, VideoImager )
/** Communication type */
typedef igtl::ServerSocket CommunicationType;
/** The SetCommunication method is used to attach a communication
* object to the tracker object. */
void SetCommunication( CommunicationType *communication );
protected:
OpenIGTLinkVideoImager(void);
virtual ~OpenIGTLinkVideoImager(void);
/** Typedef for internal boolean return type. */
typedef VideoImager::ResultType ResultType;
/** Open communication with the tracking device. */
virtual ResultType InternalOpen( void );
/** Close communication with the tracking device. */
virtual ResultType InternalClose( void );
/** Put the tracking device into tracking mode. */
virtual ResultType InternalStartImaging( void );
/** Take the tracking device out of tracking mode. */
virtual ResultType InternalStopImaging( void );
/** Update the status and the transforms for all VideoImagerTools. */
virtual ResultType InternalUpdateStatus( void );
/** Update the status and the transforms.
This function is called by a separate thread. */
virtual ResultType InternalThreadedUpdateStatus( void );
/** Reset the tracking device to put it back to its original state. */
virtual ResultType InternalReset( void );
/** Verify imager tool information */
virtual ResultType VerifyVideoImagerToolInformation(
const VideoImagerToolType * );
/** The "ValidateSpecifiedFrequency" method checks if the specified frequency
* is valid for the tracking device that is being used. */
virtual ResultType ValidateSpecifiedFrequency( double frequencyInHz );
/** Print object information */
virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
/** Remove imager tool entry from internal containers */
virtual ResultType RemoveVideoImagerToolFromInternalDataContainers( const
VideoImagerToolType * imagerTool );
/** Add imager tool entry from internal containers */
virtual ResultType AddVideoImagerToolToInternalDataContainers( const
VideoImagerToolType * imagerTool );
private:
OpenIGTLinkVideoImager(const Self&); //purposely not implemented
void operator=(const Self&); //purposely not implemented
/** Initialize camera and algorithm attributes such as Frame interleave
template matching tolerance, extrapolate frame etc */
bool Initialize();
/** A mutex for multithreaded access to the buffer arrays */
itk::MutexLock::Pointer m_BufferLock;
/** A buffer to hold frames */
typedef std::map< std::string, igstk::Frame* >
VideoImagerToolFrameContainerType;
VideoImagerToolFrameContainerType m_ToolFrameBuffer;
/** Container holding status of the tools */
std::map< std::string, int > m_ToolStatusContainer;
/** The "Communication" instance */
CommunicationType::Pointer m_Communication;
igtl::MessageHeader::Pointer m_HeaderMsg;
igtl::ImageMessage::Pointer m_ImgMsg;
igtl::Socket::Pointer m_Socket;
};
}
#endif //__igstk_OpenIGTLinkVideoImager_h_
|