73 const std::vector<SizeType>& positionOffset,
74 const void* dataInput,
75 const void* timestampsInput =
nullptr,
76 const void* controlInput =
nullptr);
111 const std::string& unit,
112 const std::string& description =
"no description",
113 const std::string& comments =
"no comments",
114 const float& conversion = 1.0f,
115 const float& resolution = -1.0f,
116 const float& offset = 0.0f,
118 const double& startingTime = -1.0,
119 const float& startingTimeRate = 1.0f,
120 const std::vector<std::string>& controlDescription = {});
141 Description of the series)
153 Scalar to multiply each element in data to convert it
154 to the specified unit)
159 Scalar to add to the data after scaling by conversion
165 Smallest meaningful difference between values in data)
170 Base unit of measurement for working with the data)
175 Continuity of the data)
181 Timestamp of the first sample in seconds)
185 "starting_time/rate",
190 "starting_time/unit",
191 Unit of measurement for time fixed to seconds)
197 Timestamps offset in seconds relative to the master time for samples stored in data)
201 "timestamps/interval",
207 Unit of measurement for timestamps fixed to seconds)
213 Numerical labels that apply to each time point in data)
218 "control_description",
219 Description of each control value)
227 TimeSeries(const std::
string& path, std::shared_ptr<
IO::BaseIO> io);
250 const
float& conversion,
251 const
float& resolution,
253 const std::
string& unit,
AQNWB::Types::Status Status
Definition BaseIO.hpp:22
#define REGISTER_SUBCLASS(T, BASE, NAMESPACE)
Macro to register a subclass with the RegisteredType class registry.
Definition RegisteredType.hpp:501
#define DEFINE_ATTRIBUTE_FIELD(name, default_type, fieldPath, description)
Defines a lazy-loaded attribute field accessor function.
Definition RegisteredType.hpp:534
#define DEFINE_DATASET_FIELD(readName, writeName, default_type, fieldPath, description)
Defines a lazy-loaded dataset field accessor function.
Definition RegisteredType.hpp:573
The configuration for an array dataset.
Definition BaseIO.hpp:204
Represents a base data type.
Definition BaseIO.hpp:47
static const BaseDataType F64
Accessor for 64-bit floating point.
Definition BaseIO.hpp:88
static const BaseDataType U8
Accessor for unsigned 8-bit integer.
Definition BaseIO.hpp:79
NWBDataInterface(const std::string &path, std::shared_ptr< AQNWB::IO::BaseIO > io)
Constructor.
Definition NWBDataInterface.cpp:11
Status initialize()
Initialize the object.
Definition NWBDataInterface.cpp:17
virtual AQNWB::Types::Status finalize()
Finalize the RegisteredType object.
Definition RegisteredType.cpp:148
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readStartingTimeUnit() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDataResolution() const
static std::map< ContinuityType, std::string > ContinuityTypeNames
String names corresponding to the ContinuityType enum.
Definition TimeSeries.hpp:54
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readData() const
IO::BaseDataType controlType
Data type of the control (uint8).
Definition TimeSeries.hpp:135
~TimeSeries()
Destructor.
Definition TimeSeries.cpp:26
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDataConversion() const
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:174
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readStartingTime() const
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordTimestamps(bool reset=false)
TimeSeries(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition TimeSeries.cpp:20
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordControlDescription(bool reset=false)
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDataOffset() const
IO::BaseDataType timestampsType
Data type of the timestamps (float64).
Definition TimeSeries.hpp:130
Status createTimestampsAttributes(const std::string &path)
Convenience function for creating timestamp related attributes.
Definition TimeSeries.cpp:62
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readComments() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readTimestampsUnit() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readControlDescription() const
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordData(bool reset=false)
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDataUnit() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readTimestampsInterval() const
ContinuityType
Definition TimeSeries.hpp:29
@ Continuous
Definition TimeSeries.hpp:31
@ Undefined
Definition TimeSeries.hpp:38
@ Instantaneous
Definition TimeSeries.hpp:33
@ Step
Definition TimeSeries.hpp:36
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordStartingTime(bool reset=false)
IO::BaseDataType m_dataType
Data type of the data.
Definition TimeSeries.hpp:125
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:28
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readTimestamps() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDataContinuity() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readDescription() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readControl() const
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::AttributeField, VTYPE > > readStartingTimeRate() const
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordControl(bool reset=false)
The namespace for IO components of AqNWB.
Namespace for all classes related to the NWB data standard.
const std::string namespaceName
Definition core.hpp:21