aqnwb 0.2.0
Loading...
Searching...
No Matches
AnnotationSeries.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
5#include "Utils.hpp"
6#include "io/BaseIO.hpp"
7#include "io/ReadIO.hpp"
9#include "spec/core.hpp"
10
11namespace AQNWB::NWB
12{
17{
18public:
19 // Register the AnnotationSeries
23
24protected:
30 AnnotationSeries(const std::string& path, std::shared_ptr<IO::BaseIO> io);
31
32public:
37
48 Status initialize(const std::string& description,
49 const std::string& comments,
50 const IO::ArrayDataSetConfig& dataConfig);
51
60 Status writeAnnotation(const SizeType& numSamples,
61 const std::vector<std::string> dataInput,
62 const void* timestampsInput,
63 const void* controlInput = nullptr);
64
67 std::string,
68 "data",
69 Annotations made during an experiment.)
70
71private:
76};
77} // namespace AQNWB::NWB
AQNWB::Types::Status Status
Definition BaseIO.hpp:22
AQNWB::Types::SizeType SizeType
Definition Channel.hpp:8
#define REGISTER_SUBCLASS(T, BASE, NAMESPACE)
Macro to register a subclass with the RegisteredType class registry.
Definition RegisteredType.hpp:501
#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
Status writeAnnotation(const SizeType &numSamples, const std::vector< std::string > dataInput, const void *timestampsInput, const void *controlInput=nullptr)
Writes a channel to an AnnotationSeries dataset.
Definition AnnotationSeries.cpp:37
std::unique_ptr< AQNWB::IO::ReadDataWrapper< AQNWB::NWB::DatasetField, VTYPE > > readData() const
std::shared_ptr< AQNWB::IO::BaseRecordingData > recordData(bool reset=false)
SizeType m_samplesRecorded
The number of samples already written per channel.
Definition AnnotationSeries.hpp:75
AnnotationSeries(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition AnnotationSeries.cpp:12
~AnnotationSeries()
Destructor.
Definition AnnotationSeries.cpp:19
Status initialize()
Initialize the object.
Definition NWBDataInterface.cpp:17
TimeSeries(const std::string &path, std::shared_ptr< IO::BaseIO > io)
Constructor.
Definition TimeSeries.cpp:20
Namespace for all classes related to the NWB data standard.
const std::string namespaceName
Definition core.hpp:21