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);
114 const std::string& unit,
115 const std::string& description =
"no description",
116 const std::string& comments =
"no comments",
119 const float& conversion = 1.0f,
120 const float& resolution = -1.0f,
121 const float& offset = 0.0f,
123 const double& startingTime = -1.0,
124 const float& startingTimeRate = 1.0f,
125 const std::vector<std::string>& controlDescription = {});
130 std::unique_ptr<IO::BaseRecordingData>
data;
152 std::unique_ptr<IO::BaseRecordingData>
control;
180 Description of the series)
194 Scalar to multiply each element in
data to convert it to the
201 Scalar to add to the
data after scaling by conversion to finalize
202 its coercion to the specified unit)
208 Smallest meaningful difference between values in
data)
214 Base unit of measurement for working with the
data)
226 Timestamp of the first sample in seconds)
231 "starting_time/rate",
237 "starting_time/unit",
238 Unit of measurement for time fixed to seconds)
244 Timestamps offset in seconds relative to the master time for samples stored in
data)
249 "timestamps/interval",
262 Numerical labels that apply to each time point in
data)
267 "control_description",
291 const
float& conversion,
292 const
float& resolution,
294 const std::
string& unit,
AQNWB::Types::Status Status
Definition BaseIO.hpp:20
AQNWB::Types::SizeArray SizeArray
Definition BaseIO.hpp:21
#define REGISTER_SUBCLASS(T, NAMESPACE)
Macro to register a subclass with the RegisteredType class registry.
Definition RegisteredType.hpp:321
#define DEFINE_FIELD(name, storageObjectType, default_type, fieldPath, description)
Defines a lazy-loaded field accessor function.
Definition RegisteredType.hpp:355
Represents a base data type.
Definition BaseIO.hpp:41
static const BaseDataType F64
Accessor for 64-bit floating point.
Definition BaseIO.hpp:82
static const BaseDataType U8
Accessor for unsigned 8-bit integer.
Definition BaseIO.hpp:73
Container(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition Container.cpp:10
void 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:173
~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:159
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:130
std::unique_ptr< IO::BaseRecordingData > control
Pointer to control values. This may be a nullptr if useControl is false.
Definition TimeSeries.hpp:152
std::unique_ptr< IO::ReadDataWrapper< AttributeField, VTYPE > > readDataUnit() const
IO::BaseDataType timestampsType
Data type of the timestamps (float64).
Definition TimeSeries.hpp:168
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:136
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:146
IO::BaseDataType m_dataType
Data type of the data.
Definition TimeSeries.hpp:163
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:158
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:22
constexpr auto DatasetField
Alias for AQNWB::Types::StorageObjectType::Dataset.
Definition RegisteredType.hpp:27