58 TimeSeries(
const std::string& path, std::shared_ptr<IO::BaseIO> io);
77 const std::vector<SizeType>& positionOffset,
78 const void* dataInput,
79 const void* timestampsInput =
nullptr,
80 const void* controlInput =
nullptr);
113 const std::string& unit,
114 const std::string& description =
"no description",
115 const std::string& comments =
"no comments",
116 const float& conversion = 1.0f,
117 const float& resolution = -1.0f,
118 const float& offset = 0.0f,
120 const double& startingTime = -1.0,
121 const float& startingTimeRate = 1.0f,
122 const std::vector<std::string>& controlDescription = {});
127 std::unique_ptr<IO::BaseRecordingData>
data;
149 std::unique_ptr<IO::BaseRecordingData>
control;
177 Description of the series)
191 Scalar to multiply each element in
data to convert it to the
198 Scalar to add to the
data after scaling by conversion to finalize
199 its coercion to the specified unit)
205 Smallest meaningful difference between values in
data)
211 Base unit of measurement for working with the
data)
223 Timestamp of the first sample in seconds)
228 "starting_time/rate",
234 "starting_time/unit",
235 Unit of measurement for time fixed to seconds)
241 Timestamps offset in seconds relative to the master time for samples stored in
data)
246 "timestamps/interval",
259 Numerical labels that apply to each time point in
data)
264 "control_description",
288 const
float& conversion,
289 const
float& resolution,
291 const std::
string& unit,
AQNWB::Types::Status Status
Definition BaseIO.hpp:22
#define REGISTER_SUBCLASS(T, NAMESPACE)
Macro to register a subclass with the RegisteredType class registry.
Definition RegisteredType.hpp:373
#define DEFINE_FIELD(name, storageObjectType, default_type, fieldPath, description)
Defines a lazy-loaded field accessor function.
Definition RegisteredType.hpp:407
The configuration for an array dataset.
Definition BaseIO.hpp:200
Represents a base data type.
Definition BaseIO.hpp:43
static const BaseDataType F64
Accessor for 64-bit floating point.
Definition BaseIO.hpp:84
static const BaseDataType U8
Accessor for unsigned 8-bit integer.
Definition BaseIO.hpp:75
Container(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition Container.cpp:10
Status initialize()
Initialize the container.
Definition Container.cpp:20
std::unique_ptr< IO::ReadDataWrapper< DatasetField, VTYPE > > readControlDescription() const
std::unique_ptr< IO::ReadDataWrapper< DatasetField, VTYPE > > readControl() const
static std::map< ContinuityType, std::string > ContinuityTypeNames
String names corresponding to the ContinuityType enum.
Definition TimeSeries.hpp:51
std::unique_ptr< IO::ReadDataWrapper< DatasetField, VTYPE > > readStartingTime() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readStartingTimeUnit() const
IO::BaseDataType controlType
Data type of the control (uint8).
Definition TimeSeries.hpp:170
~TimeSeries()
Destructor.
Definition TimeSeries.cpp:28
Status writeData(const std::vector< SizeType > &dataShape, const std::vector< SizeType > &positionOffset, const void *dataInput, const void *timestampsInput=nullptr, const void *controlInput=nullptr)
Writes a timeseries data block to the file.
Definition TimeSeries.cpp:161
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readStartingTimeRate() const
TimeSeries(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition TimeSeries.cpp:20
std::unique_ptr< IO::BaseRecordingData > data
Pointer to data values.
Definition TimeSeries.hpp:127
std::unique_ptr< IO::BaseRecordingData > control
Pointer to control values. This may be a nullptr if useControl is false.
Definition TimeSeries.hpp:149
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDataUnit() const
IO::BaseDataType timestampsType
Data type of the timestamps (float64).
Definition TimeSeries.hpp:165
Status createTimestampsAttributes(const std::string &path)
Convenience function for creating timestamp related attributes.
Definition TimeSeries.cpp:57
std::unique_ptr< IO::BaseRecordingData > timestamps
Pointer to timestamp values. This may be a nullptr if starting_time is used.
Definition TimeSeries.hpp:133
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readTimestampsInterval() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDataContinuity() const
std::unique_ptr< IO::ReadDataWrapper< DatasetField, VTYPE > > readData() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDataOffset() const
std::unique_ptr< IO::ReadDataWrapper< DatasetField, VTYPE > > readTimestamps() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readComments() const
ContinuityType
Definition TimeSeries.hpp:26
@ Continuous
Definition TimeSeries.hpp:28
@ Undefined
Definition TimeSeries.hpp:35
@ Instantaneous
Definition TimeSeries.hpp:30
@ Step
Definition TimeSeries.hpp:33
std::unique_ptr< IO::BaseRecordingData > starting_time
Pointer to starting_time values. This may be a nullptr if timestamps are used.
Definition TimeSeries.hpp:143
IO::BaseDataType m_dataType
Data type of the data.
Definition TimeSeries.hpp:160
Status createDataAttributes(const std::string &path, const float &conversion, const float &resolution, const float &offset, const std::string &unit, const ContinuityType &continuity)
Convenience function for creating data related attributes.
Definition TimeSeries.cpp:30
std::unique_ptr< IO::BaseRecordingData > control_description
Pointer to control_description values. This may be a nullptr if useControl is false.
Definition TimeSeries.hpp:155
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readTimestampsUnit() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDataResolution() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDescription() const
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDataConversion() const
Namespace for all classes related to the NWB data standard.
Definition TimeSeries.hpp:12
constexpr auto AttributeField
Alias for AQNWB::Types::StorageObjectType::Attribute.
Definition RegisteredType.hpp:23
constexpr auto DatasetField
Alias for AQNWB::Types::StorageObjectType::Dataset.
Definition RegisteredType.hpp:28