CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | Protected 成员函数 | Private 类型 | Private 属性 | 所有成员列表
ADVSCamera类 参考

Sensor that produce Dynamic Vision Events 更多...

#include <DVSCamera.h>

+ 类 ADVSCamera 继承关系图:
+ ADVSCamera 的协作图:

Public 成员函数

 ADVSCamera (const FObjectInitializer &ObjectInitializer)
 
void Set (const FActorDescription &ActorDescription) override
 
- Public 成员函数 继承自 AShaderBasedSensor
bool AddPostProcessingMaterial (const FString &Path)
 Load the UMaterialInstanceDynamic at the given Path and append it to the list of shaders with Weight.
 
void AddShader (const FSensorShader &Shader)
 Add a post-processing shader.
 
 AShaderBasedSensor (const FObjectInitializer &ObjectInitializer)
 
void Set (const FActorDescription &ActorDescription) override
 
void SetFloatShaderParameter (uint8_t ShaderIndex, const FName &ParameterName, float Value)
 
- Public 成员函数 继承自 ASceneCaptureSensor
bool ArePostProcessingEffectsEnabled () const
 
 ASceneCaptureSensor (const FObjectInitializer &ObjectInitializer)
 
void Enable16BitFormat (bool Enable=false)
 
void EnablePostProcessingEffects (bool Enable=true)
 
void EnqueueRenderSceneImmediate ()
 Immediate enqueues render commands of the scene at the current time.
 
float GetAperture () const
 
int GetBladeCount () const
 
float GetBloomIntensity () const
 
USceneCaptureComponent2DGetCaptureComponent2D ()
 
UTextureRenderTarget2D * GetCaptureRenderTarget ()
 
float GetChromAberrIntensity () const
 
float GetChromAberrOffset () const
 
float GetDepthBlurAmount () const
 
float GetDepthBlurRadius () const
 
float GetDepthOfFieldMinFstop () const
 
float GetExposureCalibrationConstant () const
 
float GetExposureCompensation () const
 
float GetExposureMaxBrightness () const
 
EAutoExposureMethod GetExposureMethod () const
 
float GetExposureMinBrightness () const
 
float GetExposureSpeedDown () const
 
float GetExposureSpeedUp () const
 
float GetFilmBlackClip () const
 
float GetFilmShoulder () const
 
float GetFilmSlope () const
 
float GetFilmToe () const
 
float GetFilmWhiteClip () const
 
float GetFocalDistance () const
 
float GetFOVAngle () const
 
uint32 GetImageHeight () const
 
uint32 GetImageWidth () const
 
float GetISO () const
 
float GetLensFlareIntensity () const
 
float GetMotionBlurIntensity () const
 
float GetMotionBlurMaxDistortion () const
 
float GetMotionBlurMinObjectScreenSize () const
 
float GetShutterSpeed () const
 
float GetTargetGamma () const
 
float GetWhiteTemp () const
 
float GetWhiteTint () const
 
bool Is16BitFormatEnabled () const
 
bool ReadPixels (TArray< FColor > &BitMap) const
 Use for debugging purposes only.
 
void SaveCaptureToDisk (const FString &FilePath) const
 Use for debugging purposes only.
 
void SetAperture (float Aperture)
 
void SetBladeCount (int Count)
 
void SetBloomIntensity (float Intensity)
 
void SetChromAberrIntensity (float Intensity)
 
void SetChromAberrOffset (float ChromAberrOffset)
 
void SetDepthBlurAmount (float Amount)
 
void SetDepthBlurRadius (float Radius)
 
void SetDepthOfFieldMinFstop (float MinFstop)
 
void SetExposureCalibrationConstant (float Constant)
 
void SetExposureCompensation (float Compensation)
 
void SetExposureMaxBrightness (float Brightness)
 
void SetExposureMethod (EAutoExposureMethod Method)
 
void SetExposureMinBrightness (float Brightness)
 
void SetExposureSpeedDown (float Speed)
 
void SetExposureSpeedUp (float Speed)
 
void SetFilmBlackClip (float BlackClip)
 
void SetFilmShoulder (float Shoulder)
 
void SetFilmSlope (float Slope)
 
void SetFilmToe (float Toe)
 
void SetFilmWhiteClip (float WhiteClip)
 
void SetFocalDistance (float Distance)
 
void SetFOVAngle (float FOVAngle)
 
void SetImageSize (uint32 Width, uint32 Height)
 
void SetISO (float ISO)
 
void SetLensFlareIntensity (float Intensity)
 
void SetMotionBlurIntensity (float Intensity)
 
void SetMotionBlurMaxDistortion (float MaxDistortion)
 
void SetMotionBlurMinObjectScreenSize (float ScreenSize)
 
void SetShutterSpeed (float Speed)
 
void SetTargetGamma (float InTargetGamma)
 
void SetWhiteTemp (float Temp)
 
void SetWhiteTint (float Tint)
 
void WaitForRenderThreadToFinish ()
 Blocks until the render thread has finished all it's tasks.
 
- Public 成员函数 继承自 ASensor
 ASensor (const FObjectInitializer &ObjectInitializer)
 
boost::optional< FActorAttributeGetAttribute (const FString Name)
 
const UCarlaEpisodeGetEpisode () const
 
URandomEngineGetRandomEngine ()
 
int32 GetSeed () const
 
auto GetToken () const
 Return the token that allows subscribing to this sensor's stream.
 
bool IsStreamReady ()
 
FDataStream MoveDataStream ()
 
virtual void OnFirstClientConnected ()
 
virtual void OnLastClientDisconnected ()
 
void PostPhysTickInternal (UWorld *World, ELevelTick TickType, float DeltaSeconds)
 
void SetDataStream (FDataStream InStream)
 Replace the FDataStream associated with this sensor.
 
void SetEpisode (const UCarlaEpisode &InEpisode)
 
void SetSeed (int32 InSeed)
 
void Tick (const float DeltaTime) final
 

静态 Public 成员函数

static FActorDefinition GetSensorDefinition ()
 

Protected 成员函数

void ImageToGray (const TArray< FColor > &image)
 
void ImageToLogGray (const TArray< FColor > &image)
 
virtual void PostPhysTick (UWorld *World, ELevelTick TickType, float DeltaTime) override
 
ADVSCamera::DVSEventArray Simulation (float DeltaTime)
 
- Protected 成员函数 继承自 AShaderBasedSensor
void SetUpSceneCaptureComponent (USceneCaptureComponent2D &SceneCapture) override
 
- Protected 成员函数 继承自 ASceneCaptureSensor
virtual void BeginPlay () override
 
void CaptureSceneExtended ()
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void PrePhysTick (float DeltaSeconds) override
 
virtual void SendGBufferTextures (FGBufferRequest &GBuffer)
 
template<typename T >
void SendGBufferTexturesInternal (T &Self, FGBufferRequest &GBufferData)
 
- Protected 成员函数 继承自 ASensor
void EndPlay (EEndPlayReason::Type EndPlayReason) override
 
template<typename SensorT >
FAsyncDataStream GetDataStream (const SensorT &Self)
 Return the FDataStream associated with this sensor.
 
void PostActorCreated () override
 

Private 类型

using DVSEventArray = std::vector<::carla::sensor::data::DVSEvent>
 

Private 属性

dvs::Config config
 DVS simulation configuration
 
std::int64_t current_time
 Current time in nanoseconds
 
TArray< double > last_event_timestamp
 Image containing time of last event in seconds
 
TArray< float > last_image
 Images containing last (current) and previous image
 
TArray< float > prev_image
 
TArray< float > ref_values
 Image containing the last reference value to trigger event
 

额外继承的成员函数

- Public 属性 继承自 ASceneCaptureSensor
struct { 
 
   FCameraGBufferUint8   CustomDepth 
 
   FCameraGBufferUint8   CustomStencil 
 
   FCameraGBufferUint8   GBufferA 
 
   FCameraGBufferUint8   GBufferB 
 
   FCameraGBufferUint8   GBufferC 
 
   FCameraGBufferUint8   GBufferD 
 
   FCameraGBufferUint8   GBufferE 
 
   FCameraGBufferUint8   GBufferF 
 
   FCameraGBufferUint8   SceneColor 
 
   FCameraGBufferUint8   SceneDepth 
 
   FCameraGBufferUint8   SceneStencil 
 
   FCameraGBufferUint8   SSAO 
 
   FCameraGBufferUint8   Velocity 
 
CameraGBuffers 
 
- Protected 属性 继承自 ASceneCaptureSensor
bool bEnable16BitFormat = false
 Whether to change render target format to PF_A16B16G16R16, offering 16bit / channel
 
bool bEnablePostProcessingEffects = true
 Whether to render the post-processing effects present in the scene.
 
USceneCaptureComponent2D_CARLACaptureComponent2D = nullptr
 Scene capture component.
 
UTextureRenderTarget2D * CaptureRenderTarget = nullptr
 Render target necessary for scene capture.
 
uint32 ImageHeight = 600u
 Image height in pixels.
 
uint32 ImageWidth = 800u
 Image width in pixels.
 
float TargetGamma = 2.4f
 
- Protected 属性 继承自 ASensor
bool bIsActive = false
 
URandomEngineRandomEngine = nullptr
 Random Engine used to provide noise for sensor output.
 
int32 Seed = 123456789
 Seed of the pseudo-random engine.
 

详细描述

Sensor that produce Dynamic Vision Events

在文件 DVSCamera.h43 行定义.

成员类型定义说明

◆ DVSEventArray

在文件 DVSCamera.h46 行定义.

构造及析构函数说明

◆ ADVSCamera()

ADVSCamera::ADVSCamera ( const FObjectInitializer & ObjectInitializer)

在文件 DVSCamera.cpp28 行定义.

引用了 AShaderBasedSensor::AddPostProcessingMaterial(), ASceneCaptureSensor::EnablePostProcessingEffects() , 以及 ASensor::RandomEngine.

+ 函数调用图:

成员函数说明

◆ GetSensorDefinition()

FActorDefinition ADVSCamera::GetSensorDefinition ( )
static

在文件 DVSCamera.cpp38 行定义.

引用了 Bool, FActorVariation::bRestrictToRecommended, Float, FActorVariation::Id, Int, UActorBlueprintFunctionLibrary::MakeCameraDefinition(), FActorVariation::RecommendedValues , 以及 FActorVariation::Type.

+ 函数调用图:

◆ ImageToGray()

void ADVSCamera::ImageToGray ( const TArray< FColor > & image)
protected

Sanity check

Reserve HxW elements

Convert image to gray raw image values

在文件 DVSCamera.cpp209 行定义.

引用了 FColorToGrayScaleFloat() , 以及 last_image.

被这些函数引用 PostPhysTick().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ ImageToLogGray()

void ADVSCamera::ImageToLogGray ( const TArray< FColor > & image)
protected

Sanity check

Reserve HxW elements

Convert image to gray raw image values

在文件 DVSCamera.cpp225 行定义.

引用了 config, FColorToGrayScaleFloat(), last_image , 以及 dvs::Config::log_eps.

被这些函数引用 PostPhysTick().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ PostPhysTick()

void ADVSCamera::PostPhysTick ( UWorld * World,
ELevelTick TickType,
float DeltaTime )
overrideprotectedvirtual

Immediate enqueues render commands of the scene at the current time.

Read the image

Convert image to gray scale

DVS Simulator

Send the events

重载 ASceneCaptureSensor .

在文件 DVSCamera.cpp130 行定义.

引用了 ASceneCaptureSensor::CaptureRenderTarget, config, carla::BufferView::CreateFrom(), ASceneCaptureSensor::EnqueueRenderSceneImmediate(), carla::streaming::detail::token_type::get_stream_id(), ASensor::GetAttribute(), ASensor::GetDataStream(), carla::ros2::ROS2::GetInstance(), FDataStreamTmpl< T >::GetSensorType(), ASensor::GetToken(), ImageToGray(), ImageToLogGray(), PostPhysTick(), ASceneCaptureSensor::ReadPixels(), carla::sensor::CompositeSerializer< Items >::Serialize(), Simulation(), ASensor::Stream, dvs::Config::use_log , 以及 ASceneCaptureSensor::WaitForRenderThreadToFinish().

被这些函数引用 PostPhysTick().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ Set()

void ADVSCamera::Set ( const FActorDescription & ActorDescription)
overridevirtual

◆ Simulation()

ADVSCamera::DVSEventArray ADVSCamera::Simulation ( float DeltaTime)
protected

Array of events

Sanity check

Check initialization

Set the first rendered image

Resizes array to given number of elements. New elements will be zeroed.

Reset current time

delta time in nanoseconds

Loop along the image size

Dropping event because time since last event < refractory_period_ns

Update current time

在文件 DVSCamera.cpp241 行定义.

引用了 dvs::Config::Cm, config, dvs::Config::Cp, current_time, ASensor::GetEpisode(), ASceneCaptureSensor::GetImageHeight(), ASceneCaptureSensor::GetImageWidth(), URandomEngine::GetNormalDistribution(), last_event_timestamp, last_image, dvs::nanosecToSecTrunc(), prev_image, ASensor::RandomEngine, ref_values, dvs::Config::refractory_period_ns, dvs::secToNanosec(), dvs::Config::sigma_Cm , 以及 dvs::Config::sigma_Cp.

被这些函数引用 PostPhysTick().

+ 函数调用图:
+ 这是这个函数的调用关系图:

类成员变量说明

◆ config

dvs::Config ADVSCamera::config
private

DVS simulation configuration

在文件 DVSCamera.h73 行定义.

被这些函数引用 ImageToLogGray(), PostPhysTick(), Set() , 以及 Simulation().

◆ current_time

std::int64_t ADVSCamera::current_time
private

Current time in nanoseconds

在文件 DVSCamera.h70 行定义.

被这些函数引用 Simulation().

◆ last_event_timestamp

TArray<double> ADVSCamera::last_event_timestamp
private

Image containing time of last event in seconds

在文件 DVSCamera.h67 行定义.

被这些函数引用 Simulation().

◆ last_image

TArray<float> ADVSCamera::last_image
private

Images containing last (current) and previous image

在文件 DVSCamera.h61 行定义.

被这些函数引用 ImageToGray(), ImageToLogGray() , 以及 Simulation().

◆ prev_image

TArray<float> ADVSCamera::prev_image
private

在文件 DVSCamera.h61 行定义.

被这些函数引用 Simulation().

◆ ref_values

TArray<float> ADVSCamera::ref_values
private

Image containing the last reference value to trigger event

在文件 DVSCamera.h64 行定义.

被这些函数引用 Simulation().


该类的文档由以下文件生成: