36#ifndef SpectrogramFilter_h
37#define SpectrogramFilter_h
41#include "../scopehal/DensityFunctionWaveform.h"
65 SpectrogramWaveform(
size_t width,
size_t height,
double binsize,
double bottomEdgeFrequency);
75 double GetBottomEdgeFrequency()
76 {
return m_bottomEdgeFrequency; }
86 double m_bottomEdgeFrequency;
99 virtual void Refresh(vk::raii::CommandBuffer& cmdBuf, std::shared_ptr<QueueHandle> queue)
override;
101 static std::string GetProtocolName();
104 virtual float GetVoltageRange(
size_t stream)
override;
105 virtual float GetOffset(
size_t stream)
override;
108 virtual void SetVoltageRange(
float range,
size_t stream)
override;
109 virtual void SetOffset(
float offset,
size_t stream)
override;
114 virtual void ReallocateBuffers(
size_t fftlen,
size_t nblocks);
119 size_t m_cachedFFTLength;
120 size_t m_cachedFFTNumBlocks;
125 std::string m_windowName;
126 std::string m_fftLengthName;
127 std::string m_rangeMinName;
128 std::string m_rangeMaxName;
130 std::unique_ptr<VulkanFFTPlan> m_vkPlan;
Declaration of VulkanFFTPlan.
Encapsulates a Vulkan compute pipeline and all necessary resources to use it.
Definition: ComputePipeline.h:55
Abstract base class for all filter graph blocks which are not physical instrument channels.
Definition: Filter.h:95
virtual void Refresh() override
Evaluates a filter graph node.
Definition: Filter.cpp:816
Filter for displaying spectrogram of a real-valued signal.
Definition: SpectrogramFilter.h:94
virtual DataLocation GetInputLocation() override
Gets the desired location of the nodes's input data.
Definition: SpectrogramFilter.cpp:174
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46
Arguments passed to the SpectrogramPostprocess shader.
Definition: SpectrogramFilter.h:48