iLab Neuromorphic Robotics Toolkit  0.1
nrt Namespace Reference

Reserved namespace for NRT core classes and functions.

Namespaces

namespace  exception
 

Reserved namespace for NRT-related exceptions.


namespace  function_existence_helper
 

A set of type trait class to check if two types can be used in an arithmetic operation, or compared.


Classes

class  AnyMessage
 Generic opaque message that can contain any message data. More...
class  Blackboard
 The Blackboard handles communication of Message objects between Module objects. More...
class  BlackboardManager
 The BlackboardManager component can be inserted into an nrt::Manager hierarchy to expose Blackboard options. More...
class  BlackboardUsageMessage
 A Message sent at regular intervals by each Blackboard to report on CPU, callback, etc usage. More...
class  GUIdataMessage
 Inform the Blackboard master of any GUIdata changes. More...
class  CreateNamespaceMessage
 Request a new namespace to be created. More...
class  RenameNamespaceMessage
 Rename (move) an existing namespace. More...
class  CreateConnectorMessage
 Create a Connector in an existing Namespace. More...
class  DeleteConnectorMessage
 Delete an existing connector. More...
class  ModifyConnectorTopicMessage
 Change a connector's topic of topicfilter. More...
class  SystemProfilerMessage
 SystemProfiler summary data. More...
class  MessagePosterConnector
 MessagePosterConnector class defines a connector for a MessagePoster. More...
class  MessageCheckerConnector
 MessageCheckerConnector class defines a connector for a MessageChecker. More...
class  MessageSubscriberConnector
 MessageSubscriberConnector class defines a connector for a MessageSubscriber. More...
class  BlackboardUID
 Type for Blackboard unique ID data. More...
struct  ConnectorUID
 Type for Connector unique ID data. More...
class  ConnectorBase
 Base class for Connector. More...
class  MessageTypesCreator
 Simple class used to contain common types for a given message. More...
class  MessagePosting
 A Posting port is a unique binding of a sent Message type and a returned Message type to a port class. More...
class  MessagePosting< Port, Msg, void >
 Specialization of MessagePosting for void return type. More...
class  MessagePosting< Port, nrt::Message< T >, void >
 Specialization of MessagePosting for void return type and nrt::Message<T> message. More...
class  MessageChecking
 A Checking is a unique binding of a Message type to a port class. More...
class  MessageSubscription
 A Subscription is a unique binding of a received Message type and a returned Message type to a port class. More...
class  MessageSubscription< Port, Msg, void >
 Specialization of MessageSubscription for void return type. More...
class  MessageSubscription< Port, nrt::Message< T >, void >
 Specialization of MessageSubscription for void return type and nrt::Message<T> message. More...
struct  SimpleMessagePosting< T, false >
 Simple CRTP struct for a MessagePosting associated with a nrt::Message<T> and void return type. More...
struct  SimpleMessagePosting< T, true >
 Simple CRTP struct for a MessagePosting associated with a T (should derive from MessageBase) and void return type. More...
struct  SimpleMessageSubscription< T, false >
 Simple CRTP struct for a MessageSubscription, used by split subscribers. More...
struct  SimpleMessageSubscription< T, true >
 Simple CRTP struct for a MessageSubscription, used by split subscribers. More...
struct  ModuleUID
 Type for Module unique ID data. More...
class  ModuleBase
 Base class for Module. More...
class  MessagePoster
 Generic variadic class template definition of MessagePoster. More...
class  MessagePoster<>
 Special case to terminate variadic template inheritance recursion. More...
class  MessagePosterCoreBase
 Base class for a MessagePoster. More...
class  MessagePosterCore
 Module objects which derive from MessagePoster will be allowed to post Message objects. More...
class  SplitMessagePoster
 Split message poster, implemented by MessagePoster ports that use splittable CompositeMessage messages. More...
class  MessageChecker
 Generic variadic MessageChecker class template. More...
class  MessageChecker<>
 Special case to terminate recursion. More...
class  MessageCheckerCoreBase
 Base class for MessageChecker. More...
class  MessageCheckerCore
 Module objects which derive from MessageChecker will be allowed to post Message objects. More...
class  MessageSubscriber
 Variadic-template MessageSubscriber class. More...
class  MessageSubscriber<>
 Variadic-template MessageSubscriber class. More...
class  MessageSubscriberCoreBase
 Base class for a MessageSubscriber. More...
class  MessageSubscriberCore
 Core class for the variadic MessageSubscriber template. More...
class  SplitMessageSubscriber< T, true >
 Subscriber helper class for split subscriptions. More...
class  SplitMessageSubscriber< T, false >
 Subscriber helper class for split subscriptions. More...
class  MessageBase
 Base class for a message that can be passed from one Module to other(s) (via a Blackboard) More...
class  Message
 Generic message template that contains one value. More...
class  MessageData< Field, Tail...>
 Generic message data template used in messages that contain multiple fields/values. More...
class  CompositeMessage
 A composite message with multiple fields. More...
class  TriggerMessage
 An empty message used to trigger events. More...
class  MessageCheckerResults
 Class that holds the results of MessageChecker<Checking>::check() More...
class  MessagePosterResults
 The results of a post() More...
class  MessagePoster< Posting, Tail...>
 MessagePoster class. More...
class  MessageChecker< Checking, Tail...>
 Module objects which derive from nrt::MessageChecker<Checking> will be allowed to check() for Message objects. More...
class  MessageSubscriber< Subscription, Tail...>
 Module objects which derive from nrt::MessageSubscriber<Subscription> will subscribe to matching Postings. More...
class  Module
 Base class for a Module. More...
class  BBNickTrigger
class  BlackboardNetHandler
 Blackboard network handler interface. More...
class  CPUTimer
 Utility class for monitoring user/system cpu usage plus wall-clock time. More...
class  GenericLog
 A generic logging class. More...
struct  StandardErrorOutputPolicy
 Output to standard error stream. More...
struct  StandardOutputOutputPolicy
 Output to standard output stream. More...
struct  InfoLevelPolicy
 Info-level log output policy. More...
struct  DebugLevelPolicy
 Debug-level log output policy. More...
struct  WarnLevelPolicy
 Warning-level log output policy. More...
struct  FatalLevelPolicy
 Fatal-level log output policy. More...
struct  EventLogEntry
 An entry in an nrt::EventLog. More...
class  Event
 Event is a simple proxy class for an event, similar to lock classes for mutex. More...
struct  EventLogSummary
 Parsed summary from an EventLog. More...
class  EventLog
 A simple event logger. More...
class  SystemProfiler
 Simple system profiler (shared event logger) More...
class  AutoMap
 A table used to create using Ids and store a value for each Id. More...
class  BottomlessThreadPool
 A thread pool with an unlimited number of threads. More...
class  BoundedBuffer
 Thread-safe synchronized producer/consumer queue. More...
class  BoundedSet
 Thread-safe synchronized producer/consumer queue with element replacement policy. More...
class  ConcurrentQueue
 A thread safe queue with blocking and waiting. More...
class  GenericBagCore
struct  getReferenceType
 Gets the correct return type for some requested type. More...
class  OptionalBase< T, true >
 Reference template specialization for OptionalBase. More...
class  OptionalBase< T, false >
 Value template specialization for OptionalBase. More...
class  FunctionWrapper
 Wraps up an std::function in a move copyable struct. More...
struct  ThreadJoiner
 Convenience RAII wrapper around a container of threads to call join() on all of them. More...
class  WorkStealingQueue
 A light wrapper around std::deque used to allow different threads to "steal" work. More...
class  Factory
 A generic factory. More...
class  GenericBag< FirstT, OtherT...>
 A class for holding a bag of unique, unordered components. More...
class  StreamableGenericBag< FirstT, OtherT...>
 A GenericBag class that requires that each of its elements support streaming IO. More...
class  IdTable
 A table used to store linked value and id types supporting lookups on both. More...
class  IteratorRange
 A rudimentary implementation of an iterator range. More...
class  KeyTable
 A table used to create using Ids. More...
class  Optional
 A class for representing optional values. More...
class  Semaphore
 A semaphore. More...
class  Singleton
 A generic singleton class to enforce a single instance of a class. More...
class  SynchroQueue
 SynchroQueue is a thread-safe synchronized producer/consumer queue. More...
class  ThreadPool
 The ThreadPool class is used to run a potentially large set of jobs on a fixed number of threads. More...
class  BoundedThreadPool
 A bounded thread pool with a shared work queue. More...
class  BoundedLocalQueueThreadPool
 A bounded thread pool with thread local work queues. More...
class  UnboundedThreadPool
 An unbounded thread pool with a shared work queue. More...
class  UnboundedLocalQueueThreadPool
 An unbounded thread pool with thread local work queues. More...
class  Circle
 A simple representation of a circle. More...
class  Dims
 A generic dimensions class. More...
class  Line
 A 2D line segment. More...
class  Point
 A N-Dimensional Point Class. More...
class  Point2D
 A 2-Dimensional Point Class. More...
class  Point3D
 A 3-Dimensional Point Class. More...
class  Polygon
 A 2D polygon representation. More...
class  Rectangle
 A basic rectangle class. More...
class  RotatedRectangle
 A 2D rotated rectangle containing a center point, dimensions, and an angle. More...
struct  FrameRange
 A simple struct to hold a range of frames indicating the bounds of a movie. More...
class  GenericImage
 A container that acts as a smart "union" of a few popular Image types. More...
class  Image
 The standard Image class used to store pixel data. More...
class  ImageSet
 A set of images, often used as a dyadic pyramid. More...
class  Layout
 Represents tiled layouts of arbitrary numbers of images of different sizes. More...
struct  PixRGB
 A pixel class to hold red-green-blue color components. More...
struct  PixHSV
 A pixel class to hold hue-saturation-value color components. More...
struct  PixGray
 A pixel class to hold a single scalar value. More...
struct  PixRGBA
 A pixel class to hold red-green-blue-alpha color components. More...
struct  PixRGBD
 A pixel class to hold red-green-blue-depth color components and depth information. More...
class  Allocator
 A C++ STL compatible allocator using nrt::allocate. More...
class  AlignedAllocator
 A c++ STL compatible allocator that always performs aligned allocation. More...
class  Array
 The Array class is an efficient way to store memory and pass it between functions. More...
class  Array2D
 A shared, copy-on-write 2D addressable storage class for holding arbitrary types. More...
class  DynamicArray
 A dynamic-length version of the Array class. More...
class  Component
 A component of a model hierarchy. More...
class  Manager
 Manager of an entire model of Components. More...
class  ParameterBase
 Base class for Parameter. More...
struct  ParameterPosting
 Simple CRTP struct for a Posting associated with a Parameter. See Module.H for details on posting. More...
struct  ParameterChecking
 Simple CRTP struct for a Checking associated with a Parameter. See Module.H for details on checking. More...
struct  ParameterSubscription
 Simple CRTP struct for a Subscription associated with a Parameter. See Module.H for details on subscription. More...
class  ParameterMessageSubscriber
 Subscriber helper class for parameter. More...
class  Parameter
 A changeable parameter for a Component. More...
struct  ParameterCategory
 A category to which multiple ParameterDefs can belong. More...
class  ParameterDefBase
 Base class for a Paramater definition. More...
class  ParameterDef
 A Parameter Definition. More...
class  ParameterSummary
 ParameterSummary provides a summary about a parameter that can be used by a GUI and across Blackboards. More...
struct  NotATypeError
 A type to indicate an error in metaprogramming. More...
struct  pixel_traits
 This specialization of pixel_traits shows up when PixType is not a Pixel type. More...
struct  pixel_traits< PixType, true >
 This specialization of pixel_traits shows up when PixType is indeed a Pixel type. More...
struct  promote
 Specialization of nrt::promote for when we can't promote. More...
struct  promote< T1, T2, true >
 Specialization of nrt::promote for when a promotion will occur. More...
struct  promote< void, T2, false >
 Specialization of nrt::promote when first type is void, promoted type is the second type. More...
struct  promote< T1, void, false >
 Specialization of nrt::promote when second type is void, promoted type is the first type. More...
struct  promote< void, void, false >
 Specialization of nrt::promote when both types are void. More...
class  Range
 A generic range class. More...
class  Serializable
 Base class for an object that can be serialized (for transfer over the wire) using boost::serialization. More...
struct  T2Type
 Type-to-type class. More...
class  Timer
 A simple timer class. More...
class  CentralTimer
 The NRT central timer. More...
struct  nrt_traits
 NRT type traits definition. More...
class  trivial_type
 A type trait class to specify whether a custom class is 'trivial,' e.g., can be malloc'd. More...
class  ValidValuesSpecBase
 Base class for specifying a set of valid values for a type. More...
class  ValidValuesSpecNone
 Open/None valid values spec, anything that T can take is valid. More...
class  ValidValuesSpecList
 Finite list valid values spec, everything listed at construction is valid, anything else is not. More...
class  DynamicLoader
 A class to open shared object (.so) files and load functions contained in them. More...
struct  ModuleManifest
 Encapsulates the manifest meta-information about an NRT Module. More...
class  GraphicsMessage
 A message that contains a bunch of graphics Shape objects grouped under a tag name. More...
class  PixelPainter
 The PixelPainter class is a small optimization for drawing on Images. More...
class  SimpleFont
 A simple font class. More...
class  DisplayImageSink
 An ImageSink that can display Images in Gtk various Gtk windows. More...
class  ImageSinkType
 ImageSinkType is the base class of all ImageSink implementations. More...
class  InfoImageSink
class  NoneImageSink
 An ImageSink that simply ignores any Images sent to out() More...
class  VideoSink
 An ImageSinkType for writing to video files. More...
class  VideoWriterBase
 A base class for video writers. More...
class  ImageSourceBase
 ImageSourceBase is the base class of all ImageSource implementations. More...
class  SeekableImageSourceType
 A pure virtual base class for seekable ImageSourceTypes. More...
class  ImageFilesSource
 A SeekableImageSourceType for opening sequences of images. More...
class  ImageSource
 A Component that can stream images from a variety of sources. More...
class  NoneImageSource
 An ImageSourceType that always returns empty GenericImages. More...
class  OpenNIImageSource
 An image source for capturing image data from an OpenNI compatible device. More...
class  RandomImageSource
 An ImageSourceType to generate uniformly distributed random images. More...
class  VideoReaderBase
 A base class for video readers. More...
class  VideoSource
 A SeekableImageSourceType for streaming video files. More...
class  ImagePyramid
 An ImagePyramid represents a stack of various scales of a single Image. More...
class  PyramidReichardt
 A Reichardt motion pyramid. More...
struct  Correspondence
 A struct for representing correspondence between two points. More...
class  SourceCloud
 A base class for any PointCloud class that has a concept of an "Source" point cloud. More...
class  TargetCloud
 A base class for any PointCloud class that has a concept of a "Target" point cloud. More...
class  DenseData
 A class for representing dense (one entry per geometry) data. More...
class  LookupCache
 A class for caching arbitrary templated function call results. More...
class  PointCloud2DataRefBase< true, Types...>
 A container for holding references to the data associated with a point cloud point. More...
class  PointCloud2DataRefBase< false, Types...>
 A container for holding constant references to the data associated with a point cloud point. More...
struct  SparseFieldCore
 Base class for marking a field as sparse. More...
struct  SparseField
 Used to wrap a field and mark it as sparse. More...
struct  StripSparse
 Strips sparse attribute, if present, from a type. More...
class  SparseData
 A class for representing Sparse (one or less entries per geometry) More...
class  FeatureBase
 Base class for all feature computation methods. More...
class  PointNormal
 An SSE capable point normal class. More...
class  Normals
 A class for computing 3d point normals. More...
class  DuplicateRemovalFilter
 A filter that removes all points which are considered to be "duplicates". More...
class  FilterBase
 Filter interface that all filters must inherit from. More...
class  PassThroughFilter
 A filter that passes through points that satisfy some criterion. More...
class  RandomRemovalFilter
 A filter that removes points from a point cloud. More...
class  VoxelFilter
 A filter that downsamples an input point cloud into a uniform grid. More...
class  PointCloud2
 A class for representing point clouds. More...
class  PointCloud2Data
 A container for holding the data associated with a point cloud point. More...
class  PointSSE
 An SSE capable point class for representing geometry. More...
class  StandardConvergenceCriteria
 A standard convergence criteria. More...
class  CorrespondenceEstimationNearestNeighbor
 Determines point correspondences by looking for nearest neighbors. More...
class  CorrespondenceRejectionBase
 Base class for all correspondence rejction methods. More...
class  CorrespondenceRejectionDistance
 Rejects correspondences based on some threshold distance. More...
class  CorrespondenceRejectionRANSAC
 Rejects correspondences based on some threshold distance. More...
class  Registration
 A class for registering point clouds. More...
class  TransformationEstimationBase
 Base class for all transformation estimation methods. More...
class  TransformationEstimationLM
 Estimates a rigid transform using Levenberg Marquardt. More...
class  TransformationEstimationPointToPlane
class  TransformationEstimationPointToPlaneLLS
class  TransformationEstimationSVD
 Estimates a rigid transform using singular value decomposition. More...
class  ModelBase
 Interface for all sample concensus methods. More...
class  ModelPlane
 A model for performing plane fitting. More...
class  ModelRegistration
 A model for performing point cloud registration. More...
class  RandomSampleConcensus
 Interface for all sample concensus methods. More...
class  SampleConcensusBase
 Interface for all sample concensus methods. More...
class  Search
 A class for searching point clouds. More...
class  UKF
 An Unscented Kalman Filter. More...
class  GaussianPDF
 A Gaussian representation of a given StateDefinition. More...
class  GaussianPDFOld
 Gaussian representation of a variable. More...
class  ParticlePDF
 Particle representation of a variable. More...
class  StateDef
 A Simple class to represent possibly complex and nested state information with dual access. More...
class  StateAccessor< Head, Tail...>
 Helper of StateDef which provides access to elements by their type. More...
class  StateDefinition
 A State Definition is a collection of State Field Groups used in a probability distribution. More...
class  StateVector
 A StateVector is a wrapper around an Eigen::Vector which provides methods to access elements by a StateDefinition. More...

Typedefs

typedef
boost::archive::binary_oarchive 
oarchive
 The default output archive type for NRT.
typedef
boost::archive::binary_iarchive 
iarchive
 The default input archive type fo NRT.
typedef nrt::Message< std::map
< std::string, nrt::real > > 
NamedRealMapMessage
 A message to specify uniquely-named real values.
typedef boost::int8_t int8
typedef boost::uint8_t uint8
typedef uint8 byte
typedef boost::uint16_t uint16
typedef boost::int16_t int16
typedef boost::uint32_t uint32
typedef boost::int32_t int32
typedef boost::uint64_t uint64
typedef boost::int64_t int64
typedef unsigned short int ushort
typedef unsigned int uint
typedef unsigned long int ulong
typedef double real
typedef
std::chrono::high_resolution_clock 
Clock
 The standard clock used by NRT (high-resolution clock from std::chrono)
typedef nrt::Clock::time_point Time
 Typedef for the NRT standard time point.
typedef nrt::Clock::duration Duration
 Standard NRT duration.
typedef std::chrono::duration
< double > 
DurationSeconds
 Duration in seconds.
typedef Factory< ImageSinkType,
std::string, std::function
< std::shared_ptr
< ImageSinkType >)>, std::map
< std::string, std::string > > 
ImageSinkFactory
typedef Factory< std::function
< void(GenericImage const,
std::string const &)>
, std::string, std::function
< std::function< void(GenericImage
const, std::string const &)>
)>, std::map< std::string,
std::string > > 
ImageWriterFactory
 A Singleton Factory used to keep track of image writers used by writeImage().
typedef Factory
< std::shared_ptr
< VideoWriterBase >
, std::string, std::function
< std::shared_ptr
< VideoWriterBase >)> > 
VideoWriterFactory
 A Singleton Factory used to keep track of video writers used by VideoSink.
typedef Factory
< ImageSourceBase, std::string,
std::function< std::shared_ptr
< ImageSourceBase >
)>, std::map< std::string,
std::string > > 
ImageSourceFactory
 ImageSource factory.
typedef Factory< std::function
< GenericImage(std::string
const &)>, std::string,
std::function< std::function
< GenericImage(std::string
const &)>)>, std::map
< std::string, std::string > > 
ImageReaderFactory
 A Singleton Factory used to keep track of image readers used by readImage().
typedef Factory
< std::shared_ptr
< VideoReaderBase >
, std::string, std::function
< std::shared_ptr
< VideoReaderBase >
)>, std::map< std::string,
std::string > > 
VideoReaderFactory
 A Singleton Factory used to keep track of video writers used by VideoSink.
typedef DynamicArray< std::size_t > Indices
 A way of describing a set of indices in a point cloud.
typedef float POINTCLOUD2_BASE_TYPE
typedef Eigen::Vector3d Vector3

Enumerations

enum  ConnectorType { Intra, Border }
 Type of connector. More...
enum  ConnectorFlavor { Poster, Checker, Subscriber }
 Flavor of Connector. More...
enum  MessageCheckerPolicy { Any, Unseen, AnyBlock, UnseenBlock }
 Policy flag that can be passed to check() to indicate what to check for and how. More...
enum  ModuleParamPort { Poster, Checker, Subscriber }
 Module Parameter port type, used to create ports in Modules for Parameters. More...
enum  ImageInitPolicy { Zeros, None }
 Initialization policy for the pixels inside an Image, used during construction of the Image. More...
enum  ImageFlags { SafeAccess = 1, UniqueAccess = 2 }
 Flags to control the behavior of Images. More...
enum  LayoutDir { H, V }
 Direction of a Layout. More...
enum  OnlineChangePolicy { NoOnlineChanges }
 Enum to allow or not online changes of Parameter values.
enum  ParameterState { Create, Modify, Read, Destroy }
 State of a parameter, received with a ParameterSummary. More...
enum  TextAnchor { TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT }
 Where text should be anchored with respect to an anchor point location. More...
enum  ConvolutionBoundaryStrategy { ZERO, CLEAN, REPLICATE }
 Convolution boundary strategies. More...

Functions

template<typename T >
std::unique_ptr< T > make_unique (T *const object)
 Wrap an std::unique_ptr around the given object pointer.
template<class Msg >
std::string const MessageType ()
 Free function to statically identify the message type and return it as string.
template<>
std::string const MessageType< void > ()
 Specialization for void messages.
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (ModuleParamChangedOutput, ModuleParamChangedMessage, void,"Module Param Changed")
 NRT_MACRO_DEFINE_ENUM_CLASS (BoundedSetInsertPolicy,(Preserve)(Replace))
template<class T , size_t S>
std::ostream & operator<< (std::ostream &out, nrt::Point< T, S > const &p)
 Human-readable output to a stream: outputs x1,x2,x3,...,xN.
template<class PixType , class BinaryOperation >
PixType accumulate (nrt::Image< PixType > const &img, PixType init=PixType(0), BinaryOperation op=std::plus< PixType >())
 Accumulate the values of all pixels in the Image.
template<class PixType , class UnaryOperator >
void transformInPlace (nrt::Image< PixType > &lhs, UnaryOperator op)
 Apply the given unary operator to each pixel in lhs, storing the returned value back into that pixel.
template<class PixType1 , class PixType2 , class BinaryOperator >
void transformInPlace (nrt::Image< PixType1 > &lhs, nrt::Image< PixType2 > const &rhs, BinaryOperator op)
 Apply the given binary operator to each pixel in lhs and rhs, and store the result in lhs's pixel.
template<class PixType , class UnaryOperator >
nrt::Image< PixType > transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply the given unary operator to each pixel in lhs, storing the result in a new Image.
template<class PromoteType , class PixType , class UnaryOperator >
nrt::Image< PromoteType > transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply the given unary operator to each pixel in lhs, storing the result in a new Image of type PixelType.
template<class PixType1 , class PixType2 , class BinaryOperator >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, nrt::Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
transform (nrt::Image< PixType1 > const &lhs, nrt::Image< PixType2 > const &rhs, BinaryOperator op)
 Apply the given binary function to each pixel in lhs and rhs, storing the result in a new Image.
template<class PixType , class UnaryOperator >
nrt::Image< PixType > channel_transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply the given unary operator to each channel of each pixel in lhs, storing the result in a new Image.
template<class PromoteType , class PixType , class UnaryOperator >
nrt::Image< PromoteType > channel_transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply given unary operator to each channel of each pixel in lhs, storing result in a new Image of type PixelType.
template<class PixType1 , class PixType2 , class BinaryOperator >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, nrt::Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
channel_transform (nrt::Image< PixType1 > const &lhs, nrt::Image< PixType2 > const &rhs, BinaryOperator op)
 Apply the given binary function to each channel of each pixel in lhs and rhs, storing the result in a new Image.
template<class PixType , class UnaryFunction >
void for_each (nrt::Image< PixType > const &img, UnaryFunction op)
 Run the given unary function on each pixel in img.
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha< T1 >
>::type & 
operator+= (PixelWithAlpha< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithAlpha< typename
promote< T1, T2 >::type > 
operator+ (PixelWithAlpha< T1 > const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator+ (PixelWithAlpha< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator+ (T1 const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha< T1 >
>::type & 
operator-= (PixelWithAlpha< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithAlpha< typename
promote< T1, T2 >::type > 
operator- (PixelWithAlpha< T1 > const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator- (PixelWithAlpha< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator- (T1 const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha< T1 >
>::type & 
operator*= (PixelWithAlpha< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithAlpha< typename
promote< T1, T2 >::type > 
operator* (PixelWithAlpha< T1 > const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator* (PixelWithAlpha< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator* (T1 const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha< T1 >
>::type & 
operator/= (PixelWithAlpha< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithAlpha< typename
promote< T1, T2 >::type > 
operator/ (PixelWithAlpha< T1 > const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator/ (PixelWithAlpha< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithAlpha
< typename promote< T1, T2 >
::type > >::type 
operator/ (T1 const &lhs, PixelWithAlpha< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth< T1 >
>::type & 
operator+= (PixelWithDepth< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithDepth< typename
promote< T1, T2 >::type > 
operator+ (PixelWithDepth< T1 > const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator+ (PixelWithDepth< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator+ (T1 const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth< T1 >
>::type & 
operator-= (PixelWithDepth< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithDepth< typename
promote< T1, T2 >::type > 
operator- (PixelWithDepth< T1 > const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator- (PixelWithDepth< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator- (T1 const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth< T1 >
>::type & 
operator*= (PixelWithDepth< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithDepth< typename
promote< T1, T2 >::type > 
operator* (PixelWithDepth< T1 > const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator* (PixelWithDepth< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator* (T1 const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth< T1 >
>::type & 
operator/= (PixelWithDepth< T1 > &lhs, T2 const rhs)
template<class T1 , typename T2 >
PixelWithDepth< typename
promote< T1, T2 >::type > 
operator/ (PixelWithDepth< T1 > const &lhs, PixelWithDepth< T2 > const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T2 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator/ (PixelWithDepth< T1 > const &lhs, T2 const &rhs)
template<class T1 , typename T2 >
std::enable_if
< std::is_arithmetic< T1 >
::value, PixelWithDepth
< typename promote< T1, T2 >
::type > >::type 
operator/ (T1 const &lhs, PixelWithDepth< T2 > const &rhs)
GenericImage operator+ (GenericImage const &lhs, GenericImage const &rhs)
 Pointwise addition of two GenericImage images: GenericImage + GenericImage.
template<class PixType2 , NRT_ENABLE_IF_PIXEL(PixType2) >
GenericImage operator+ (GenericImage const &lhs, PixType2 const &rhs)
 Addition of a constant to every pixel in a GenericImage: GenericImage + T.
template<class PixType1 , NRT_ENABLE_IF_PIXEL(PixType1) >
GenericImage operator+ (PixType1 const &lhs, GenericImage const &rhs)
 Addition of a constant to every pixel in a GenericImage: T + GenericImage.
GenericImage operator- (GenericImage const &lhs, GenericImage const &rhs)
 Pointwise subtraction of two GenericImage objects: GenericImage - GenericImage.
template<class PixType2 , NRT_ENABLE_IF_PIXEL(PixType2) >
GenericImage operator- (GenericImage const &lhs, PixType2 const &rhs)
 Subtraction of a constant from every pixel in a GenericImage: GenericImage - T.
template<class PixType1 , NRT_ENABLE_IF_PIXEL(PixType1) >
GenericImage operator- (PixType1 const &lhs, GenericImage const &rhs)
 Subtraction of every pixel of a GenericImage from a constant: T - GenericImage.
GenericImage operator* (GenericImage const &lhs, GenericImage const &rhs)
 Pointwise product of two GenericImage images: GenericImage * GenericImage.
template<class PixType2 , NRT_ENABLE_IF_PIXEL(PixType2) >
GenericImage operator* (GenericImage const &lhs, PixType2 const &rhs)
 Product of everypixel of a GenericImage by a constant: GenericImage * T.
template<class PixType1 , NRT_ENABLE_IF_PIXEL(PixType1) >
GenericImage operator* (PixType1 const &lhs, GenericImage const &rhs)
 Product of everypixel of a GenericImage by a constant: T * GenericImage.
GenericImage operator/ (GenericImage const &lhs, GenericImage const &rhs)
 Pointwise division of two GenericImage images: GenericImage / GenericImage.
template<class PixType2 , NRT_ENABLE_IF_PIXEL(PixType2) >
GenericImage operator/ (GenericImage const &lhs, PixType2 const &rhs)
 Division of every pixel of a GenericImage by a constant: GenericImage / T.
template<class PixType1 , NRT_ENABLE_IF_PIXEL(PixType1) >
GenericImage operator/ (PixType1 const &lhs, GenericImage const &rhs)
 Division of a constant by every pixel of a GenericImage: T / GenericImage.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator+= (Image< PixType1 > &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image += Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator+= (Image< PixType1 > &lhs, T const &rhs)
 Operator to compute Image += constant.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
operator+ (Image< PixType1 > const &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image + Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator+ (Image< PixType1 > const &lhs, T const &rhs)
 Operator to compute Image + constant.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator+ (T const &lhs, Image< PixType1 > const &rhs)
 Operator to compute constant + Image.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator-= (Image< PixType1 > &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image -= Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator-= (Image< PixType1 > &lhs, T const &rhs)
 Operator to compute Image -= constant.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
operator- (Image< PixType1 > const &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image - Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator- (Image< PixType1 > const &lhs, T const &rhs)
 Operator to compute Image - constant.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator- (T const &lhs, Image< PixType1 > const &rhs)
 Operator to compute constant - Image.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator*= (Image< PixType1 > &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image *= Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator*= (Image< PixType1 > &lhs, T const &rhs)
 Operator to compute Image *= constant.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
operator* (Image< PixType1 > const &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image * Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator* (Image< PixType1 > const &lhs, T const &rhs)
 Operator to compute Image * constant.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator* (T const &lhs, Image< PixType1 > const &rhs)
 Operator to compute constant * Image.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator/= (Image< PixType1 > &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image /= Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_assign_arithmetic, Image
< PixType1 > >::type & 
operator/= (Image< PixType1 > &lhs, T const &rhs)
 Operator to compute Image /= constant.
template<class PixType1 , class PixType2 >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
operator/ (Image< PixType1 > const &lhs, Image< PixType2 > const &rhs)
 Operator to compute Image / Image.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator/ (Image< PixType1 > const &lhs, T const &rhs)
 Operator to compute Image / constant.
template<class PixType1 , class T >
std::enable_if< nrt_traits
< PixType1, T >
::has_arithmetic, Image
< typename nrt_traits
< PixType1, T >::promote_type >
>::type 
operator/ (T const &lhs, Image< PixType1 > const &rhs)
 Operator to compute constant / Image.
template<class T >
Layout< T > hcat (nrt::Image< T > p1, nrt::Image< T > p2)
 Convenience free functions for horizontal Layout concatenation.
template<class T >
Layout< T > hcat (nrt::Image< T > p1, Layout< T > const &p2)
 Horizontally concatenate an Image and a Layout.
template<class T >
Layout< T > hcat (Layout< T > const &p1, nrt::Image< T > p2)
 Horizontally concatenate a Layout and an Image.
template<class T >
Layout< T > hcat (Layout< T > const &p1, Layout< T > const &p2)
 Horizontally concatenate two Layout objects.
template<class T >
Layout< T > hcat (Layout< T > const &p1, Layout< T > const &p2, Layout< T > const &p3)
 Horizontally concatenate three Layout objects.
template<class T >
Layout< T > hcat (nrt::ImageSet< T > const imgs)
 Horizontally concatenate a set of Image objects.
template<class T >
std::enable_if< sizeof(T)!=sizeof(nrt::byte),
std::istream >::type & 
operator>> (std::istream &in, PixRGB< T > &pix)
 Stream in as a PixRGB(r,g,b)
template<class T >
std::enable_if< sizeof(T)!=sizeof(nrt::byte),
std::istream >::type & 
operator>> (std::istream &in, PixRGBA< T > &pix)
 Stream in as a PixRGBA(r,g,b,a)
void * allocate (size_t nbytes)
 Allocate nbytes of memory, throwing an exception in case of failure.
void deallocate (void *mem)
 Deallocate the given memory region.
void allocation_release_free_mem ()
 Released any cached free memory blocks (e.g. to conserve memory)
void allocation_allow_caching (bool on)
 Turn on/off caching of memory blocks of commonly-used sizes.
void allocation_debug_print (bool print)
 Turn on/off memory-allocation debugging statements.
void allocation_show_stats (int verbosity=0, const char *pfx=0, const size_t units=0)
 Print current stats for whatever memory allocator is in use.
void allocation_set_stats_units (const size_t units)
 Set the units to be used by default in invt_allocation_show_stats()
 NRT_DECLARE_MESSAGE (TimeStampMessage)
template<class T >
void paramValToString (T const &val, std::string &result)
 Machine-readable conversion of T to a string, for use in nrt::Parameter.
template<class T >
void paramStringToVal (std::string const &valstring, T &result)
 Machine-readable conversion from string to T, for use in nrt::Parameter.
template<class Q >
void paramValToString (std::vector< Q > const &val, std::string &result)
 Machine-readable output to a string, for use in nrt::Parameter: outputs [Element1, Element2, ...].
template<class Q >
void paramStringToVal (std::string const &valstring, std::vector< Q > &result)
 Machine-readable input from a string, for use in nrt::Parameter: reads [Element1, Element2, ...].
template<class K , class V >
void paramValToString (std::map< K, V > const &val, std::string &result)
 Machine-readable output to a string, for use in nrt::Parameter: outputs [Key1:Value1, Key2:Value2, ...].
template<class K , class V >
void paramStringToVal (std::string const &valstring, std::map< K, V > &result)
 Machine-readable input from a string, for use in nrt::Parameter: reads [Key1:Value1, Key2:Value2, ...].
template<>
void paramValToString< bool > (bool const &val, std::string &result)
 Machine-readable conversion of bool to a string, for use in nrt::Parameter.
template<>
void paramStringToVal< bool > (std::string const &valstring, bool &result)
 Machine-readable conversion from string to bool, for use in nrt::Parameter.
template<>
void paramValToString< std::string > (std::string const &val, std::string &result)
 Machine-readable conversion of string to a string, for use in nrt::Parameter.
template<>
void paramStringToVal< std::string > (std::string const &valstring, std::string &result)
 Machine-readable conversion from string to string, for use in nrt::Parameter.
template<class dest_type , class source_type >
std::enable_if< not_subranged
< dest_type, source_type >
::value, dest_type >::type 
clamped_convert (source_type source)
 Perform a clamped-conversion from one type to another.
std::string demangle (std::string mangledName)
 Demangle a mangled name.
template<class T >
std::string demangledName ()
 Get the demangled type name of T.
template<class T >
std::string demangledName (T const &t)
 Get the demangled type name of variable t.
template<typename Elem , typename Tupl , size_t i>
std::__add_ref< typename
std::enable_if< std::is_same
< Elem, typename
std::tuple_element< i, Tupl >
::type >::value, typename
std::__add_ref< Elem >::type >
::type >::type 
tget (Tupl &t)
 Add access to std::tuple elements by type.
template<typename Elem , typename Tupl , size_t i>
std::__add_c_ref< typename
std::enable_if< std::is_same
< Elem, typename
std::tuple_element< i, Tupl >
::type >::value, typename
std::__add_c_ref< Elem >::type >
::type >::type 
tget (Tupl const &t)
 Const version of nrt::tget()
void warnAndRethrowException ()
 Convenience function to catch an exception, issue some NRT_WARNING (depending on type), and rethrow it.
void warnAndIgnoreException ()
 Convenience function to catch an exception, issue some NRT_WARNING (depending on type), and ignore it.
Time now ()
 Now represented in nrt::Time.
Duration forev ()
 Forever duration.
Duration zeroduration ()
 Zero duration.
template<typename Function , typename... Args>
std::future< typename
std::result_of< Function(Args...)>
::type > 
async (std::launch policy, Function &&fn, Args &&...args)
template<typename Function , typename... Args>
std::future< typename
std::result_of< Function(Args...)>
::type > 
async (Function &&fn, Args &&...args)
template<typename __CallerType , typename __ReturnType , typename... __ArgTypes>
__AUTO_BIND_FUNCTION_TYPE
< __ReturnType(__ArgTypes...)> 
auto_bind (__ReturnType(__CallerType::*function_ptr)(__ArgTypes...), __CallerType *const caller)
template<typename __ReturnType , typename... __ArgTypes>
__AUTO_BIND_FUNCTION_TYPE
< __ReturnType(__ArgTypes...)> 
auto_bind (__ReturnType(*function_ptr)(__ArgTypes...))
template<typename __OutputFunctionType , typename __ReturnType , typename... __InputArgTypes, typename... __Appends>
auto auto_bind (const __AUTO_BIND_FUNCTION_TYPE< __ReturnType(__InputArgTypes...)> &function, __Appends...appends)-> decltype(auto_bind(typename details
template<typename... __OutputArgTypes, typename __ReturnType , typename... __InputArgTypes, typename... __Appends>
static
__AUTO_BIND_FUNCTION_TYPE
< __ReturnType(__OutputArgTypes...)> 
auto_bind (const details::container< __OutputArgTypes...> &container, const __AUTO_BIND_FUNCTION_TYPE< __ReturnType(__InputArgTypes...)> &function, __Appends...appends)
std::future< void > groupAsync (std::vector< std::function< void()> > const &jobs)
 The groupAsync method is a way to spawn multiple threads simultaneously.
double lngamma (double x)
 Compute log of Gamma.
double normalPDF (double x, double mu, double var)
 Find the value of a normal PDF at x.
double normalCDF (double x, double mu, double var)
 Find the value of a normal CDF at x.
double vonMisesPDF (double x, double mu, double k)
 Find the value of a von Mises distribution at x.
template<class T >
clamped (T const &val, T const &min, T const &max)
 Clamp a value to within a min-max range.
std::string replaceEnvVars (std::string const &str)
std::vector< std::string > splitString (std::string const &string, char const delimiter)
 Split the string by the given delimiter.
std::string joinStrings (std::vector< std::string > const &strings, std::string const &delimiter)
 Join a vector of strings with the given delimiter.
std::string trimString (std::string const &s)
 Trim whitespace from both ends of a string.
std::string lTrimString (std::string const &s)
 Trim whitespace from the left side of a string.
std::string rTrimString (std::string const &s)
 Trim whitespace from the right side of a string.
std::string sformat (const char *fmt,...) __attribute__((format(__printf__
 Create a string using printf style arguments.
std::string std::string urlDecode (std::string const &str)
 Decode url-encoded strings.
template<typename T1 , typename T2 >
Eigen::Matrix< T1,
Eigen::Dynamic, 1 > 
arrayToEigenVector (Array< T2 > const input)
 Convert from nrt::Array to Eigen vector.
template<typename T1 , typename T2 >
Array< T1 > eigenVectorToArray (Eigen::Matrix< T2, Eigen::Dynamic, 1 > const &input)
 Cpnvert from Eigen vector to nrt::Array.
template<typename T1 , typename T2 >
Eigen::Matrix< T1,
Eigen::Dynamic, 1 > 
imageToEigenVector (Image< PixGray< T2 > > const input)
 Convert from nrt::Image to Eigen vector.
template<typename T1 , typename T2 >
Image< PixGray< T1 > > eigenVectorToImage (Eigen::Matrix< T2, Eigen::Dynamic, 1 > const &input)
 Convert from Eigen vector to nrt::Image.
template<typename T1 , typename T2 >
Eigen::Matrix< T1,
Eigen::Dynamic, Eigen::Dynamic > 
imageToEigenMatrix (Image< PixGray< T2 > > const input)
 Convert from nrt::Image to Eigen matrix.
template<typename T1 , typename T2 >
Image< PixGray< T1 > > eigenMatrixToImage (Eigen::Matrix< T2, Eigen::Dynamic, Eigen::Dynamic > const &input)
 Convert from Eigen matrix to nrt::Image.
 NRT_MACRO_DEFINE_ENUM_CLASS (ImageRendererResizePolicy,(stretch)(best)(actual)(preserve))
template<class PixType >
void paste (Image< PixType > &destination, Image< PixType > const source, Point2D< int32 > const &pos)
 Paste a source Image into the destination at the given position.
template<class PixType >
Image< PixType > const concatX (Image< PixType > const left, Image< PixType > const right, PixType const bgColor=PixType(0))
 Horizontally concatenate two Images.
template<class PixType >
Image< PixType > const concatY (Image< PixType > const top, Image< PixType > const bottom, PixType const bgColor=PixType(0))
 Vertically concatenate two Images.
template<class PixType >
Image< PixType > const crop (Image< PixType > const source, Rectangle< int32 > const &rect)
 Extract a sub-image from the source Image.
template<class PixType >
ImageSet< PixType > const crop (ImageSet< PixType > const source, Rectangle< int32 > const &rect)
 Extract a sub-ImageSet from the source ImageSet.
GenericImage const crop (GenericImage const source, Rectangle< int32 > const &rect)
 Extract a sub-image from the source Image, GenericImage version.
template<class PixType >
Image< PixType > const cropAndFill (Image< PixType > const source, Rectangle< int32 > const &rect, PixType const bgColor=PixType(0))
 Extract a subImage from the source Image.
GenericImage const cropAndFill (GenericImage const source, Rectangle< int32 > const &rect, PixRGB< float > const bgColor=PixRGB< float >(0.0F))
 Extract a subImage from the source Image, GenericImage version.
template<class PixType >
Image< PixType > const warpedCrop (Image< PixType > const source, Rectangle< int32 > const &rect, Eigen::AffineCompact2f const &m, PixType const bgColor=PixType(0))
 Extract a warped sub-image from the source Image using the provided warping matrix.
template<class T , template< typename > class PixDest, class U , template< typename > class PixOutline>
void drawLine (Image< PixDest< T > > &image, Line< int32 > const &line, PixOutline< U > const &outlineColor, uint thickness=1)
 Draw a Line in the Image.
template<class T , class U >
void drawLineAA (Image< T > &image, Line< int32 > const &line, U const &outlineColor)
 Draw an antialiased Line in the Image.
template<class T , template< typename > class SourceColorT, class U , template< typename > class OutlineColorT, class V = byte, template< typename > class FillColorT = PixRGBA>
void drawPolygon (Image< SourceColorT< T >> &image, Polygon< int32 > const &polygon, OutlineColorT< U > const &outlineColor, uint thickness=1, FillColorT< V > const &fillColor=PixRGBA< byte >(0, 0, 0, 0))
 Draw a Polygon in the image.
template<class T , class U >
void drawPolygonAA (Image< T > &image, Polygon< int32 > const &polygon, U const &outlineColor)
 Draw an antialiased Polygon in the image.
template<class T , template< typename > class PixDest, class U , template< typename > class PixFill>
void drawDisk (Image< PixDest< T > > &dst, Circle< int32 > const &circle, PixFill< U > const &fillColor)
 Draw a Disk (filled-in circle)
template<class T , class U >
void drawCircle (Image< T > &image, Circle< int32 > const &circle, U const &outlineColor, uint thickness=1)
 Draw a Circle in the image.
template<class T , class U , class V = PixRGBA<byte>>
void drawEllipse (Image< T > &image, Point2D< int32 > const &center, const float radiusx, const float radiusy, const float skew, U const &outlineColor, uint thickness=1, V const &fillColor=PixRGBA< byte >(0, 0, 0, 0))
 Draw a Ellipse in the image.
template<class T , template< typename > class SourceColorT, class U , template< typename > class OutlineColorT, class V = byte, template< typename > class FillColorT = PixRGBA>
void drawRectangle (Image< SourceColorT< T >> &image, Rectangle< int32 > const &rect, OutlineColorT< U > const &outlineColor, uint thickness=1, FillColorT< V > const &fillColor=PixRGBA< byte >(0, 0, 0, 0))
 Draw a Rectangle in the Image.
template<class T , class OutlineColorT >
void drawCross (Image< T > &image, Point2D< int32 > const &center, OutlineColorT const &outlineColor, uint32 radius, uint32 thickness=1, float angle=0)
 Draw a cross in the Image.
template<class T , class OutlineColorT >
void DrawArrow (Image< T > &image, int32 xs, int32 ys, int32 xe, int32 ye, uint32 thickness=1, OutlineColorT const &outlineColor=PixRGB< byte >(0, 0, 255), float headSizeRatio=0.35f, float headAngle=15.0f)
 Draw an arrow in the Image.
template<class T , class OutlineColorT >
void drawGrid (Image< T > &image, const int32 spacingX, const int32 spacingY, const uint32 thickX=1, const uint32 thickY=1, OutlineColorT const &outlineColor=PixRGB< byte >(0, 0, 0))
 Draw a Grid in the image.
template<class T , class OutlineColorT >
void drawGrid (Image< T > &image, const uint32 nx, const uint32 ny, const uint32 thickness=1, OutlineColorT const &outlineColor=PixRGB< byte >(0, 0, 0))
 Draw a regular Grid in the image.
template<class T , template< typename > class PixDest, class U = byte, template< typename > class FGColorT = PixRGB, class V = byte, template< typename > class BGColorT = PixRGB>
void drawText (Image< PixDest< T > > &image, Point2D< int32 > const &pt, std::string const &text, FGColorT< U > const &foreground=FGColorT< U >(255), BGColorT< U > const &background=BGColorT< V >(0), SimpleFont const &font=SimpleFont::FIXED(10), TextAnchor const anchor=TextAnchor::TOP_LEFT, bool transparentBG=false)
 Write some text in an Image using a SimpleFont.
template<class T >
Image< PixGray< T > > binomialKernel (int const size)
 Create a 1D binomial distribution kernel (shape of size-by-1).
template<class T >
Image< PixGray< T > > gaborFilter (const float stddev, const float period, const float phase, const float theta, const float bg, const float ampl)
template<class T >
Image< PixGray< T > > gaborFilter (const float scale, const float theta)
template<class T >
Image< PixGray< T > > morphologyKernel (int size, bool const disk)
 Create a Morphological kernel with a given size.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > lowPass3x (Image< PixType > const &src)
 Low-pass filter, coeff * [0.25 0.5 0.25], applied in X only.
template<typename promo >
GenericImage lowPass3x (GenericImage const &src)
 Low-pass filter, coeff * [0.25 0.5 0.25], applied in X only, GenericImage version.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > lowPass3y (Image< PixType > const &src)
 Low-pass filter, coeff * [0.25 0.5 0.25], applied in Y only.
template<typename promo >
GenericImage lowPass3y (GenericImage const &src)
 Low-pass filter, coeff * [0.25 0.5 0.25], applied in Y only, GenericImage version.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > lowPass3 (Image< PixType > const &src)
 Low-pass filter, coeff * [0.25 0.5 0.25], applied separably in X and Y.
template<typename promo >
GenericImage lowPass3 (GenericImage const &src)
 Low-pass filter, coeff * [0.25 0.5 0.25], applied separably in X and Y, GenericImage version.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass5x (nrt::Image< PixType > const &src)
 Low-pass filter, Anderson's 5x5 separable, applied in X.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass5y (nrt::Image< PixType > const &src)
 Low-pass filter, Anderson's 5x5 separable, applied in Y.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass9x (nrt::Image< PixType > const &src)
 Low-pass filter, 9x9 separable, applied in X.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass9y (nrt::Image< PixType > const &src)
 Low-pass filter, 9x9 separable, applied in Y.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass9 (nrt::Image< PixType > const &src, bool const go_x=true, bool const go_y=true)
 Low-pass filter, 9x9 separable.
template<class T >
Image< T > dilate (Image< T > const &img, Image< T > const &se, Point2D< int > origin)
template<class PixType >
Image< PixType > dilate (Image< PixType > const &img, int seSize=3, Point2D< int > origin=Point2D< int >(-1,-1))
 Dilate the img with a square structuring element.
template<class T >
Image< T > erode (Image< T > const &img, Image< T > const &se, Point2D< int > origin)
template<class PixType >
Image< PixType > erode (Image< PixType > const &img, int seSize=3, Point2D< int > origin=Point2D< int >(-1,-1))
 Erode the img with a square structuring element.
template<class T >
Image< T > open (const Image< T > &img, const Image< T > &se, Point2D< int > origin)
template<class PixType >
Image< PixType > open (Image< PixType > const &img, int seSize=3, Point2D< int > origin=Point2D< int >(-1,-1))
 Open (erode and then dilate) img with a square structuring element.
template<class T >
Image< T > close (const Image< T > &img, const Image< T > &se, Point2D< int > origin)
template<class PixType >
Image< PixType > close (Image< PixType > const &img, int seSize=3, Point2D< int > origin=Point2D< int >(-1,-1))
 Close (dilate and then erode) img with a square structuring element.
template<class T >
Image< PixGray< T > > gaborKernel (float const scale, float const theta)
 Create a Gabor kernel with a a given scale and angle (in radians)
template<class T >
Image< PixGray< T > > gaborKernel (const float stddev, const float period, const float phase, const float theta, const float bg=0.0f, const float ampl=1.0f)
 Create a Gabor kernel.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > lowPass (int const N, Image< PixType > const &src)
 Low-pass filter, NxN applied in X and Y.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > lowPassX (int const N, Image< PixType > const &src)
 Low-pass filter, Nx1 separable, applied in X.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > lowPassY (int const N, Image< PixType > const &src)
 Low-pass filter, 1xN separable, applied in Y.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const centerSurround (Image< PixType > const center, Image< PixType > const surround, bool const rectify=false)
 Compute center-surround difference, returning the absolute value if rectify==true.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const orientedFilter (Image< PixType > const src, float const k, float const theta, float const intensity=1.0, bool const fastMath=false)
 Oriented filter along theta (deg), spatial freq k.
template<NRT_MACRO_PROMOTE_PIX(double) >
std::tuple< Image< DestType >
, Image< DestType > > const 
sobelFilter3 (Image< PixType > const src, ConvolutionBoundaryStrategy strategy=nrt::ConvolutionBoundaryStrategy::REPLICATE)
 Filter the Image with a 3x3 Sobel edge-detecting filter.
template<NRT_MACRO_PROMOTE_PIX(double) >
std::tuple< Image< DestType >
, Image< DestType > > const 
sobelFilter5 (Image< PixType > const src, ConvolutionBoundaryStrategy strategy=nrt::ConvolutionBoundaryStrategy::REPLICATE)
 Filter the Image with a 5x5 Sobel edge-detecting filter.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const integralImage (Image< PixType > const src)
 Compute an integral image.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const integralSquaresImage (Image< PixType > const src)
 Compute an integral squares image.
template<class PixType >
Image< PixType > median3x (Image< PixType > const &in)
 Apply a 3-point median filter in the x direction.
template<class PixType >
Image< PixType > median3y (Image< PixType > const &in)
 Apply a 3-point median filter in the y direction.
template<class PixType >
Image< PixType > median3 (Image< PixType > const &in, bool go_x=true, bool go_y=true)
 Apply a 3-point median filter in the x and/or y directions;.
template<class PixType >
Image< PixType > dilate (Image< PixType > const &img, Image< PixType > const &se, Point2D< int > origin=Point2D< int >(-1,-1))
 Dilate the img with a custom structuring element.
template<class PixType >
Image< PixType > erode (Image< PixType > const &img, Image< PixType > const &se, Point2D< int > origin=Point2D< int >(-1,-1))
 Erode the img with a custom structuring element.
template<class PixType >
Image< PixType > open (Image< PixType > const &img, Image< PixType > const &se, Point2D< int > origin=Point2D< int >(-1,-1))
 Open (erode and then dilate) img with a custom structuring element.
template<class PixType >
Image< PixType > close (Image< PixType > const &img, Image< PixType > const &se, Point2D< int > origin=Point2D< int >(-1,-1))
 Close (dilate and then erode) img with struct element se with a given origin.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const xFilter (Image< PixType > const src, Image< DestType > const hFilt, ConvolutionBoundaryStrategy const boundary)
 Convolve a horizontal 1-D filter with the input Image using the given boundary strategy.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const yFilter (Image< PixType > const src, Image< DestType > const vFilt, ConvolutionBoundaryStrategy const boundary)
 Convolve a vertical 1-D filter with the input Image using the given boundary strategy.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const separableFilter (Image< PixType > const src, Image< DestType > const hFilter, Image< DestType > const vFilter, ConvolutionBoundaryStrategy const boundary)
 Convolve horizontal and vertical separable filters with the input Image using the given boundary strategy.
template<NRT_MACRO_PROMOTE_PIX(double) >
Image< DestType > const separableFilter (Image< PixType > const src, Image< DestType > const filter, ConvolutionBoundaryStrategy const boundary)
 Convolve a single separable filter (either 1xN or Nx1) with the input Image using the given boundary strategy.
void writeImage (GenericImage const img, std::string const &filename)
 Write the image file found at the given filename.
void writePNM (GenericImage const img, std::string const &filename)
GenericImage const readImage (std::string const &filename)
 Read the image file found at the given filename.
GenericImage const readPFZ (std::string const &filename)
GenericImage const readPNM (std::string const &filename)
template<class PixType >
Image< PixType > copyIpl2Image (IplImage const *const iplimage)
 Copy an OpenCV IplImage to an nrt::Image.
template<class PixType >
IplImage * copyImage2Ipl (Image< PixType > const img)
 Copy an nrt::Image to an OpenCV IplImage.
template<class PixType >
Image< PixType > copyCvMat2Image (cv::Mat iplimage)
 Copy a cv::Mat to an nrt::Image.
template<class PixType >
cv::Mat copyImage2CvMat (Image< PixType > const img)
 Copy an nrt::Image to a cv::Mat.
template<typename promo = int, typename srcType , typename dstType = typename nrt::promote<srcType, promo>::type>
nrt::Image< nrt::PixGray
< dstType > > 
getIntegralImage (nrt::Image< nrt::PixGray< srcType > > const im)
 Generate an Integral Image from a grayscale Image.
template<typename promo = int, typename srcType , typename dstType = typename nrt::promote<srcType, promo>::type>
nrt::Image< nrt::PixGray
< dstType > > 
getIntegralImage (nrt::Image< nrt::PixGray< srcType > > const im, std::function< dstType(srcType const &)> evalFxn)
 Generate an Integral Image from a grayscale Image.
template<typename promo = int, typename srcType , typename dstType = typename nrt::promote<srcType, promo>::type>
dstType getIIValue (nrt::Image< nrt::PixGray< srcType >> integralImage, nrt::Rectangle< nrt::int32 > rect)
 Compute the sum of values inside a rectangular region of an Image using an Integral Image.
template<class PixType >
void inplaceAttenuateBorders (Image< PixType > &a, int size)
 Progressive attenuation of borders by "size" pixels.
template<class PixType >
void inplaceRectify (Image< PixType > &dst)
 Half-wave rectify an Image.
template<class PixType >
void inplaceNormalize (Image< PixType > &dst, PixType const &mi, PixType const &ma)
 Normalize pixel values to range [mi .. ma].
template<class PixType >
void inplaceNormalize (Image< PixType > &dst, PixType const &mi, PixType const &ma, PixType &oldmi, PixType &oldma)
 Normalize pixel values to range [mi .. ma], also get old range back into [oldmi.. oldma].
template<NRT_MACRO_PROMOTE_PIX(void) >
Image< DestType > const normalize (Image< PixType > const src, DestType const &mi, DestType const &ma)
 Normalize pixel values to range [mi .. ma].
template<NRT_MACRO_PROMOTE_PIX(void) >
Image< DestType > normalize (Image< PixType > const src, DestType const &mi, DestType const &ma, PixType &oldmi, PixType &oldma)
 Normalize pixel values to range [mi .. ma], also get old range back into [oldmi.. oldma].
template<class promo = void>
GenericImage const normalize (GenericImage const src, double const &mi, double const &ma)
 Normalize pixel values to range [mi .. ma], GenericImage version.
template<NRT_MACRO_PROMOTE_PIX(float) >
Image< DestType > const zmuv (Image< PixType > const src)
 Normalize pixel values to zero mean, unit variance (ZMUV)
template<class PixType >
void inplaceZmuv (Image< PixType > &src)
 Normalize pixel values to zero mean, unit variance (ZMUV)
template<class PixType >
Point2D< int > findMaxLocation (Image< PixType > const &src)
 Find the maximum location in the image.
template<class PixType >
Point2D< int > findMinLocation (Image< PixType > const &src)
 Find the minimum location in the image.
template<NRT_MACRO_PROMOTE_PIX(double) >
DestType const mean (Image< PixType > const &im)
 Get the average of all input pixels.
template<NRT_MACRO_PROMOTE_PIX(double) >
DestType const stdev (Image< PixType > const &im)
 Compute standard deviation of pixel values over image.
template<NRT_MACRO_PROMOTE_PIX(double) >
DestType const variance (Image< PixType > const &im)
 Compute variance of pixel values over image.
template<NRT_MACRO_PROMOTE_PIX(double) >
DestType const sum (Image< PixType > const &im)
 Returns the sum of all input pixels.
template<class promo = float, class T >
nrt::promote< T, promo >::type
const 
normalizedCrossCorrelation (Image< nrt::PixGray< T > > const &im1, Image< nrt::PixGray< T > > const &im2)
 Returns the normalized cross-correlation between two images of same dims, images should have zero mean.
template<NRT_MACRO_PROMOTE_PIX(void) >
ImagePyramid< DestType > gaussianPyramid (Image< PixType > const source, size_t const numOctaves, size_t const firstOctave=0, size_t const filterSize=5)
 Create a gaussian pyramid from an input Image.
template<NRT_MACRO_PROMOTE_PIX(double) >
ImagePyramid< DestType > laplacianPyramid (Image< PixType > const source, size_t const numOctaves, size_t const firstOctave=0, size_t const filterSize=5)
 Create a laplacian pyramid from an input Image.
template<NRT_MACRO_PROMOTE_PIX(void) >
ImagePyramid< DestType > orientedPyramid (Image< PixType > const source, size_t const numOctaves, size_t const firstOctave, int const filterSize, float theta, float intensity, bool const fastMath=false)
 Create an oriented pyramid from an input Image.
template<NRT_MACRO_PROMOTE_PIX(double) >
ImagePyramid< DestType > orientedPyramid (ImagePyramid< PixType > const laplacian, int filterSize, float theta, float intensity, bool const fastMath=false)
 Create an oriented pyramid from an already constructed Laplacian pyramid.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
Image< DestType > rescaleBilinear (Image< PixType > const &src, Dims< int32 > const &dims)
 Scale to new width & height using bilinear interpolation.
template<typename promo = void>
GenericImage rescaleBilinear (GenericImage const &src, Dims< int32 > const &dims)
 Scale to new width & height using bilinear interpolation - GenericImage version.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > decimateX (nrt::Image< PixType > const &src, int factor=2)
 Decimate in X (take one every 'factor' pixels).
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > decimateY (nrt::Image< PixType > const &src, int const factor=2)
 Decimate in Y (take one every 'factor' pixels).
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > decimateXY (nrt::Image< PixType > const &src, int const xfactor=2, int const yfactor=-1)
 Decimate in X and Y (take one every 'factor' pixels).
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > downSize (nrt::Image< PixType > const &src, nrt::Dims< int > const &dims, int const filterWidth=9)
 Downsize using alternating lowpass/decimate operations.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass5xDecX (nrt::Image< PixType > const &src, int const factor=2)
 Low-pass filter, Anderson's 5x5 separable, applied in X, and X decimated by factor.
template<NRT_MACRO_PROMOTE_PIX_NO_DEFAULT_PROMO >
nrt::Image< DestType > lowPass5yDecY (nrt::Image< PixType > const &src, int const factor=2)
 Low-pass filter, Anderson's 5x5 separable, applied in Y, and Y decimated by factor.
template<class PixType >
Image< PixType > flipVertical (const Image< PixType > &src)
 Flip an image vertically, so that the top row becomes the bottom row.
template<class PixType >
Image< PixType > flipHorizontal (const Image< PixType > &src)
 Flip an image horizontally, so that the left column becomes the right column.
template<NRT_MACRO_PROMOTE_PIX(void) >
Image< DestType > shiftImage (Image< PixType > const src, float const dx, float const dy)
 Shift an image by a non-integer displacement (float dx, float dy)
template<class PixType >
Image< PixType > shiftClean (Image< PixType > const src, int const dx, int const dy, PixType bgval=PixType(0))
 Shift an image by an integer displacement (int dx, int dy), without wraparound.
template<NRT_MACRO_PROMOTE_PIX(void) >
Image< DestType > rotate (Image< PixType > const src, Point2D< int32 > const p, const float angRad)
 Rotate an Image about the point p by the angle angRad(in Radians)
template<NRT_MACRO_PROMOTE_PIX(void) >
Image< DestType > rotate (Image< PixType > const src, const float angRad)
 Rotate an Image about its center by the angle angRad(in Radians)
PointCloud2::Geometry computeCentroid (PointCloud2 const input)
 Computes a 3D centroid from the geometry in a point cloud.
PointCloud2::Geometry computeCentroid (PointCloud2 const input, Indices const subset)
 Computes a 3D centroid from the geometry in a point cloud subset.
PointCloud2::Matrix3 computeCovariance (PointCloud2 const input, bool normalize=false)
 Computes the covariance matrix for 3d geometry in a point cloud.
PointCloud2::Matrix3 computeCovariance (PointCloud2 const input, PointCloud2::Geometry const &centroid, bool normalize=false)
 Computes the covariance matrix for 3d geometry in a point cloud.
PointCloud2::Matrix3 computeCovariance (PointCloud2 const input, Indices const subset, bool normalize=false)
 Computes the covariance matrix for 3d geometry in a point cloud subset.
PointCloud2::Matrix3 computeCovariance (PointCloud2 const input, Indices const subset, PointCloud2::Geometry const &centroid, bool normalize=false)
 Computes the covariance matrix for 3d geometry in a point cloud subset.
std::pair
< PointCloud2::Matrix3,
PointCloud2::Geometry
computeCovarianceAndCentroid (PointCloud2 const input)
 Computes the normalized covariance and centroid in one step.
std::pair
< PointCloud2::Matrix3,
PointCloud2::Geometry
computeCovarianceAndCentroid (PointCloud2 const input, Indices const subset)
 Computes the normalized covariance and centroid in one step for a subset.
void solvePlaneParameters (PointCloud2::Matrix3 const &covariance, PointCloud2::Geometry const &point, Optional< PointCloud2::Vector4 & > planeParameters=OptionalEmpty, Optional< PointCloud2::Vector3 & > variation=OptionalEmpty, Optional< PointCloud2::Matrix3 & > eigenVectors=OptionalEmpty)
PointCloud2 demeanPointCloud (PointCloud2 const input, PointCloud2::Geometry const &centroid)
 Subtracts a centroid from a point cloud.
template<class Field >
PointCloud2 demeanPointCloud (PointCloud2 const input, Field const &centroid)
 Subtracts a centroid from a specific field in a point cloud.
PointCloud2 transformPointCloud (PointCloud2 const input, PointCloud2::AffineTransform const &transform)
 Apply a transformation, creating a new point cloud.
PointCloud2 transformPointCloud (PointCloud2 const input, Indices const indices, PointCloud2::AffineTransform const &transform)
 Apply a transformation to a subset, creating a new point cloud.
void transformPointCloudInPlace (PointCloud2 &input, PointCloud2::AffineTransform const &transform)
 Apply a transformation in place.
void transformPointCloudInPlace (PointCloud2 &input, Indices const indices, PointCloud2::AffineTransform const &transform)
 Apply a transformation in place to a subset.
PointCloud2 transformPointCloudWithNormals (PointCloud2 const input, PointCloud2::AffineTransform const &transform)
 Apply a transformation to the geometry and rotation to the normals, creating a new point cloud.
void transformPointCloudWithNormalsInPlace (PointCloud2 &input, PointCloud2::AffineTransform const &transform)
 Apply a transformation to the geometry and rotation to the normals, in place.
template<class T >
std::size_t cloudHash ()
 Computes a hash from a type.
template<class Feature >
PointCloud2 computePointCloudFeatures (PointCloud2 const input, Feature &&feature)
 Compute some type of feature for a point cloud.
template<class Feature >
PointCloud2 computePointCloudFeatures (PointCloud2 const input, Indices const indices, Feature &&feature)
 Compute some type of feature for a point cloud subset.
template<class Filter >
PointCloud2 filterPointCloud (PointCloud2 const input, Filter &&filter)
 Filter a point cloud using some filter.
template<class Filter >
PointCloud2 filterPointCloud (PointCloud2 const input, Indices const indices, Filter &&filter)
 Filter a point cloud subset using some filter.
template<class Filter , class... FilterArgs>
PointCloud2 filterPointCloud (PointCloud2 const input, Filter &&filter, FilterArgs &&...args)
template<class Filter , class... FilterArgs>
PointCloud2 filterPointCloud (PointCloud2 const input, Indices const indices, Filter &&filter, FilterArgs &&...args)
template<class Field , class Filter >
PointCloud2 filterPointCloud (PointCloud2 const input, Filter &&filter)
 Filter a specific dense or sparse field of a cloud using some filter.
template<class Field , class Filter >
PointCloud2 filterPointCloud (PointCloud2 const input, Indices const indices, Filter &&filter)
 Filter a specific dense or sparse field of a cloud subset using some filter.
template<class Field , class Filter , class... FilterArgs>
PointCloud2 filterPointCloud (PointCloud2 const input, Filter &&filter, FilterArgs &&...args)
template<class Field , class Filter , class... FilterArgs>
PointCloud2 filterPointCloud (PointCloud2 const input, Indices const indices, Filter &&filter, FilterArgs &&...args)
template<class T >
PointCloud2 depthToPointCloud (Image< PixGray< T >> const depthImage, float focalLength, const bool keepNaN=true)
 Converts a depth image to a point cloud.
template<class T1 , class T2 >
PointCloud2 depthToPointCloud (Image< PixRGBD< T1, T2 >> const depthImage, float focalLength, const bool keepNaN=true)
 Converts a depth image with color data to a point cloud.
 NRT_MACRO_DEFINE_ENUM_CLASS (PointCloudSearchMethod,(knn)(radius))
template<class Field >
constexpr bool is_state_field ()
template<class Field1 , class Field2 >
constexpr bool are_state_fields ()
template<class Group >
constexpr bool is_state_field_group ()
template<class Group1 , class Group2 >
constexpr bool are_state_field_groups ()
 NRT_DECLARE_MESSAGE (TransformLookupMessage)
 NRT_DECLARE_MESSAGE (TransformMessage)
std::ostream & operator<< (std::ostream &out, nrt::TransformMessage const &msg)
 Human-readable output to a stream: outputs fromFrameId -> toFrameId (x,y,z)
 NRT_DECLARE_MESSAGE (VelocityMessage)
 A message to specify translational and rotational velocities.
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT (DesiredValuePort, nrt::Message< double >, void,"The desired value for the control loop")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT (ObservedValuePort, nrt::Message< double >, void,"The raw observed value to be used for the control loop")
 NRT_DECLARE_MESSAGEPOSTER_PORT (OutputValuePort, nrt::Message< double >, void,"The control loop output")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (LoadMessageOutput, LoadModuleRequestMessage, LoadModuleResponseMessage,"Module Load Message Output")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (LoadMessageInput, LoadModuleRequestMessage, LoadModuleResponseMessage,"Module Load Message Input")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (UnloadMessageOutput, UnloadModuleMessage, void,"Module Unload Message Output")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (UnloadMessageInput, UnloadModuleMessage, void,"Module Unload Message Input")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (ModifyParamOutput, ModifyParamMessage, ModifyParamResponseMessage,"Modify Parameter Output")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (ModifyParamInput, ModifyParamMessage, ModifyParamResponseMessage,"Modify Parameter Input")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (ModifyTopicOutput, ModifyModuleTopicMessage, void,"Modify Topic Output")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (ModifyTopicInput, ModifyModuleTopicMessage, nrt::Message< bool >,"Modify Topic Input. Returns whether or not the topic was set.")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (SetStateInput, SetStateMessage, void,"Set the running state of the system (start or stopped)")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (ModifyConnectorTopicOutput, ModifyConnectorTopicMessage, void,"Modify Connector Topic Output")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (CreateConnectorOutput, CreateConnectorMessage, void,"Create Connectors Output")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (CreateNamespaceOutput, CreateNamespaceMessage, void,"Create Namespace Output")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (RenameNamespaceInput, RenameNamespaceMessage, void,"Rename Namespace Input")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (SplitPortInput, SplitPortMessage, void,"Split Port Input")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (RequestLoaderSummaryInput, nrt::BBNickTrigger, LoaderSummaryMessage,"Request Module List Input")
 NRT_DECLARE_MESSAGEPOSTER_PORT_SPECIAL (SetGUIdataOutput, nrt::GUIdataMessage, void,"Set GUI Data Output")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (KillInput, nrt::TriggerMessage, void,"Kill this module loader")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (QuietSuspendInput, nrt::Message< bool >, void,"Put this loader's blackboard into/out of quiet suspended mode")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (RefreshParametersInput, nrt::BBNickTrigger, void,"Ask all parameters to resend their summaries. The value of this message should be the target loader nickname")
 NRT_DECLARE_MESSAGESUBSCRIBER_PORT_SPECIAL (ParamPortInput, nrt::ParamPortMessage, void,"Create/delete a port associated with a module's parameter")
template<class T >
Layout< T > vcat (nrt::Image< T > p1, nrt::Image< T > p2)
 Convenience functions for vertical Layout concatenation.
template<class T >
Layout< T > vcat (nrt::Image< T > p1, Layout< T > const &p2)
 Vertically concatenate an Image and a Layout.
template<class T >
Layout< T > vcat (Layout< T > const &p1, nrt::Image< T > p2)
 Vertically concatenate a Layout and an Image.
template<class T >
Layout< T > vcat (Layout< T > const &p1, Layout< T > const &p2)
 Vertically concatenate two Layout objects.
template<class T >
Layout< T > vcat (Layout< T > const &p1, Layout< T > const &p2, Layout< T > const &p3)
 Vertically concatenate three Layout objects.
template<class T >
Layout< T > vcat (nrt::ImageSet< T > const imgs)
 Vertically concatenate a set of Image objects.
template<class T >
Layout< T > arrcat (nrt::ImageSet< T > imgs, int32 const nx)
 Convenience functions for combination h/v array Layout concatenation.
void computeMinMax (PointCloud2 const input, PointCloud2::Geometry &min, PointCloud2::Geometry &max)
 Computes the minimum and maximum values for point cloud geometry.
template<class Field >
void computeMinMax (PointCloud2 const input, Field &min, Field &max)
 Computes the minimum and maximum values for a specifc field type.

Variables

static nrt::ParameterCategory const BlackboardParamCateg ("Blackboard Related Options")
static nrt::ParameterDef
< std::string > const 
BBNumMasterIPParamDef ("masterip","The IP address or hostname of the master Blackboard. The default empty string will try to extract this value from""the $NRTMASTER environment variable.","", BlackboardParamCateg)
static nrt::ParameterDef< int >
const 
BBNumMasterPortParamDef ("masterport","The port of the master Blackboard, or 0 to discover and use the first available open port. The default of -1 will ""try to extract the port from the $NRTMASTER environment variable.",-1, BlackboardParamCateg)
static nrt::ParameterDef< bool >
const 
BBIsMasterParamDef ("master","Set this blackboard as the master node", false, BlackboardParamCateg)
static nrt::ParameterDef
< std::string > const 
BBNicknameParamDef ("nick","The optional nickname for this Blackboard.","", BlackboardParamCateg)
int currentLogLevel
 Current log level, default is 4 (LOG_ERR)
static ParameterDef< std::string > ImageFilesSinkPrefixDef ("prefix","The string to prepend to all image filenames written","", ImageSinkParamCateg)
static ParameterDef< size_t > ImageFilesSinkFieldWidthDef ("framenumfieldwidth","The field width of the frame numbers appended to each filename. ""For instance, the filename myimage001234.jpg has a framenumfieldwidth of 6. ""Setting this parameter to 1 will result in a variable field width, e.g. myimage1234.jpg. ""Setting this parameter to 0 will cause the first frame to have no numerical postfix, e.g. just myimage.jpg. ", 1, ImageSinkParamCateg)
static ParameterCategory ImageSinkParamCateg ("Image Sink Related Options")
static ParameterDef< std::string > SinkTypeDef ("out","Output Type","", ImageSinkParamCateg)
static ParameterDef< std::string > VideoSinkPrefixDef ("prefix","The string to prepend to all video filenames written","", ImageSinkParamCateg)
static ParameterDef< int > VideoSinkQualityDef ("quality","The encoded video quality. This number roughly describes the tradeoff a given encoder should make between the size and the quality of the encoded video. ""A value of 1 represents minimum size, and a value of 10 represents maximum quality.", 7, ImageSinkParamCateg)
static ParameterDef< FrameRangeSISTFrameRangeDef ("frames","The frame range to read", FrameRange(0, FrameRange::Max), ImageSourceParamCateg)
static ParameterCategory ImageSourceParamCateg ("Image Source Related Options")
static ParameterCategory RandomImageSourceParams ("Random Image Source Related Parameters")
static ParameterDef< Dims
< int32 > > 
DimsParameterDef ("dims","Dimensions of the generated Image", Dims< int32 >(320, 240), RandomImageSourceParams)
static ParameterCategory ModuleLoaderCateg ("Module Loader Related Options")
static ParameterDef< std::string > ModuleFileDef ("module","The location of a module shared object to load.","", ModuleLoaderCateg)
static ParameterDef< std::string > ModuleSubscriptionDef ("subscription","When loading modules with the --module command line argument, you can set a subscription topic filter like so: ""--module=mymodule.so --subscription=portname:topicfilter","", ModuleLoaderCateg)
static ParameterDef< std::string > ModuleCheckingDef ("checking","When loading modules with the --module command line argument, you can set a checking topic like so: ""--module=mymodule.so --checking=portname:topicfilter","", ModuleLoaderCateg)
static ParameterDef< std::string > ModulePostingDef ("posting","When loading modules with the --module command line argument, you can set a posting topic like so: ""--module=mymodule.so --posting=portname:topicname","", ModuleLoaderCateg)
static ParameterDef< std::string > NetworkFileDef ("yaml-file","The location of the YAML file describing which modules to load","", ModuleLoaderCateg)
static ParameterDef< bool > DisableVersionCheckDef ("disable-version-check","Should we disable the version checking for shared objects?", false, ModuleLoaderCateg)

Typedef Documentation

typedef Factory< std::function<void(GenericImage const,std::string const&)>, std::string, std::function<std::function<void(GenericImage const, std::string const&)>)>, std::map<std::string, std::string> > nrt::ImageWriterFactory

A Singleton Factory used to keep track of image writers used by writeImage().

Developers who wish to create their own image writer methods should register them with the NRT_REGISTER_IMAGE_WRITER macro so that they may be recognized by writeImage()

Definition at line 54 of file ImageWriter.H.

typedef Factory< std::shared_ptr<VideoWriterBase>, std::string, std::function<std::shared_ptr<VideoWriterBase>)> > nrt::VideoWriterFactory

A Singleton Factory used to keep track of video writers used by VideoSink.

Developers who wish to create their own video writer classes should register them with the NRT_REGISTER_VIDEO_WRITER(CLASSNAME) macro so that they may be recognized by VideoSink

See also:
VideoReaderBase
VideoSink
ImageSink

Definition at line 93 of file VideoWriterBase.H.

typedef Factory< std::function<GenericImage(std::string const&)>, std::string, std::function<std::function<GenericImage(std::string const&)>)>, std::map<std::string, std::string> > nrt::ImageReaderFactory

A Singleton Factory used to keep track of image readers used by readImage().

Developers who wish to create their own image reader methods should register them with the NRT_REGISTER_IMAGE_READER macro so that they may be recognized by readImage()

Definition at line 53 of file ImageReader.H.

typedef Factory< std::shared_ptr<VideoReaderBase>, std::string, std::function<std::shared_ptr<VideoReaderBase>)>, std::map<std::string, std::string> > nrt::VideoReaderFactory

A Singleton Factory used to keep track of video writers used by VideoSink.

Developers who wish to create their own video writer classes should register them with the NRT_REGISTER_VIDEO_WRITER(CLASSNAME) macro so that they may be recognized by VideoSink

See also:
VideoReaderBase
VideoSource
ImageSource

Definition at line 108 of file VideoReaderBase.H.


Enumeration Type Documentation

Type of connector.

Intra-connectors connect modules within one namespace. Border connectors establish a bridge between a namespace and its parent namespace.

Definition at line 53 of file ConnectorHelpers.H.

Flavor of Connector.

Enumerator:
Poster 

Poster parameter port type.

Checker 

Checker parameter port type.

Subscriber 

Subscriber parameter port type.

Definition at line 78 of file ConnectorHelpers.H.

template<class T, uint32 Flags = 0>
enum ImageInitPolicy [related]

Initialization policy for the pixels inside an Image, used during construction of the Image.

Enumerator:
Zeros 

Fill the image with all zeros. This costs some CPU.

None 

No initialization of each pixel. This saves some CPU.

Definition at line 59 of file Image.H.

template<class T, uint32 Flags = 0>
enum ImageFlags [related]

Flags to control the behavior of Images.

You can pass combinations of flags to an Image using the bitwise 'or' operator:

      // Construct an Image that will check for out-of-bounds pixel access, but won't check for shared memory.
      Image<PixGray<byte>, SafeAccess | UniqueAccess> myImage;
Enumerator:
SafeAccess 

Image coordinate access will be checked, and an exception will be thrown if you try to access a pixel which is out of bounds. If you don't set this flag, then you will be on your own to ensure that you don't try to access pixels outside of the Image (as doing so may result in a segfault). However, SafeAccess comes with a big performance hit, so we recommend you only use it when debugging

UniqueAccess 

Image reference counting will not be checked during pixel level access. If you are sure that you have the only copy of your image data (and have full understanding of the copy-on-write behavior!), then you can declare your Image with the UniqueAccess flag. A good practice is to always call Image::deepCopy() before making a UniqueAccess alias of an Image.

For Example:

         Image<PixRGB<byte>> myImage;

         // ... Do some processing ...

         // Make a UniqueAccess alias of myImage. Notice that we make a deep-copy of myImage before we do this,
         // ensuring that we hold a unique reference to the underlying memory.
         myImage.deepCopy();
         Image<PixRGB<byte>, UniqueAccess> myUniqueImage = myImage;

         // Now, we can mess around with myUniqueImage and all pixel operations will be very fast, as they won't perform
         // any checks to ensure that we aren't sharing our memory with any other Images.
         for(int y=0; y<myUniqueImage.height(); y++)
         for(int x=0; x<myUniqueImage.width(); x++)
         myUniqueImage(x,y) = ...

Definition at line 74 of file Image.H.

enum ParameterState [related]

State of a parameter, received with a ParameterSummary.

Parties interested in ParameterSummary would typically want to know why they are receiving a summary, which can be upon creation, modification, reading, or destruction of a Parameter.

Definition at line 46 of file ParameterSummary.H.


Function Documentation

void nrt::writeImage ( GenericImage const  img,
std::string const &  filename 
)

Write the image file found at the given filename.

This method is the best way for users to write images to files. When given a filename, this method will ensure that the path exists, and will then attempt to write the image using an appropriate image writer method found by querying the ImageWriterFactory.

GenericImage const nrt::readImage ( std::string const &  filename)

Read the image file found at the given filename.

This method is the best way for users to read images from files. When given a filename, this method will ensure that the file exists, and will then attempt to read the image using an appropriate image reader method found by querying the ImageReaderFactory.

Examples:
tests/test-ImageReader.C.
template<class Feature >
PointCloud2 nrt::computePointCloudFeatures ( PointCloud2 const  input,
Feature &&  feature 
)

Compute some type of feature for a point cloud.

Template Parameters:
FeatureThe feature extraction class
Parameters:
inputThe point cloud to filter
featureThe parameterized feature method to apply to the input
Returns:
The point cloud with features added depending on the method
template<class Feature >
PointCloud2 nrt::computePointCloudFeatures ( PointCloud2 const  input,
Indices const  indices,
Feature &&  feature 
)

Compute some type of feature for a point cloud subset.

Template Parameters:
FeatureThe feature extraction class
Parameters:
inputThe point cloud to filter
indicesThe subset to consider
featureThe parameterized feature method to apply to the input
Returns:
The point cloud with features added depending on the method
template<class T >
PointCloud2 nrt::depthToPointCloud ( Image< PixGray< T >> const  depthImage,
float  focalLength,
const bool  keepNaN = true 
)

Converts a depth image to a point cloud.

This will create a geometry only point cloud based upon the depth image and its device parameters.

The coordinate system of the returned cloud will be EAST-NORTH-UP, that is moving forward will be positve Y, moving upwards will be positive Z, and moving horizontally to the right will be positive X.

Invalid range readings should be marked by a quiet_NaN. The default behavior is to keep nans in the final point cloud to preserve the structure of the depth image.

Template Parameters:
TThe base type for the pixels
Parameters:
depthImageThe depth image
focalLengthThe focal length of the depth device in pixels
keepNaNWhether invalid (nan) pixels in the depth image should be kept in the point cloud
Returns:
A point cloud representation of the depth image
Examples:
tests/test-PointCloud2OpenNI.C.
template<class T1 , class T2 >
PointCloud2 nrt::depthToPointCloud ( Image< PixRGBD< T1, T2 >> const  depthImage,
float  focalLength,
const bool  keepNaN = true 
)

Converts a depth image with color data to a point cloud.

This will create a geometry and PixRGB<T1> (as a dense field) point cloud based upon the depth image and its device parameters. The depth image should be properly registered.

The coordinate system of the returned cloud will be EAST-NORTH-UP, that is moving forward will be positve Y, moving upwards will be positive Z, and moving horizontally to the right will be positive X.

Invalid range readings should be marked by a quiet_NaN. The default behavior is to keep nans in the final point cloud to preserve the structure of the depth image.

Template Parameters:
T1The base type for the rgb pixels
T2The base type for the depth pixels
Parameters:
depthImageThe depth (and color) image.
focalLengthThe focal length (in pixels) of whichever sensor the data is registered to.
keepNaNWhether invalid (nan) pixels in the depth image should be kept in the point cloud
Returns:
A point cloud representation of the depth image
nrt::NRT_DECLARE_MESSAGE ( VelocityMessage  )

A message to specify translational and rotational velocities.

In general, this message is used to generate motor commands in robot driver modules. If any axes which are not implemented by the robot driver are non-zero, then the robot driver should ignore those requests. The linear velocity components should be specified in meters/second, and the angular velocity components should be specified in radians/second.

The coordinate system which robot drivers should implement is as follows:

  • linear.x: Move Forwards
  • linear.y: Strafe Left
  • linear.z: Fly Upwards
  • angular.x: Roll Right
  • angular.y: Pitch Up
  • angular.z: Yaw Right

< The linear component

< The angular component

Empty constructor (Velocities are set to zeros)

Construct from a linear and angular velocity

Definition at line 55 of file VelocityMessage.H.

References NRT_DECLARE_MESSAGE.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines