Core
Nodes and Gadgets
-
class Node
Node is the base class for everything in a Gadgetron chain, including Gadgets and TypedChannelGadgets
Subclassed by Gadgetron::Core::GenericChannelGadget, Gadgetron::LegacyGadgetNode
Public Functions
-
virtual void process(GenericInputChannel &in, OutputChannel &out) = 0
The function which processes the data coming from the InputChannel. Conceptually a coroutine.
- Parameters:
in – Channel from which messages are received from upstream
out – Channel in which messages are sent on downstream
-
virtual void process(GenericInputChannel &in, OutputChannel &out) = 0
-
class GenericChannelGadget : public Gadgetron::Core::Node, public Gadgetron::Core::PropertyMixin
Subclassed by Gadgetron::Core::ChannelGadget< TYPELIST >, Gadgetron::Core::GenericPureGadget
-
template<class ...TYPELIST>
class ChannelGadget : public Gadgetron::Core::GenericChannelGadget A Node providing typed access to input data. Messages not matching the TYPELIST are simply passed to the next Node in the chain. Should be the first choice for writing new Gadgets.
- Template Parameters:
TYPELIST – The type(s) of the messages to be received
Public Functions
-
inline virtual void process(GenericInputChannel &in, OutputChannel &out) final
The function which processes the data coming from the InputChannel. Conceptually a coroutine.
- Parameters:
in – Channel from which messages are received from upstream
out – Channel in which messages are sent on downstream
-
virtual void process(InputChannel<TYPELIST...> &in, OutputChannel &out) = 0
The process function to be implemented when inheriting from this class.
- Parameters:
in – A channel of the types specified in TYPELIST
out – Channel of output
-
class GenericPureGadget : public Gadgetron::Core::GenericChannelGadget
Subclassed by Gadgetron::Core::PureGadget< RETURN, INPUT >
Public Functions
-
inline virtual void process(GenericInputChannel &in, OutputChannel &out) final
The function which processes the data coming from the InputChannel. Conceptually a coroutine.
- Parameters:
in – Channel from which messages are received from upstream
out – Channel in which messages are sent on downstream
-
inline virtual void process(GenericInputChannel &in, OutputChannel &out) final
-
template<class RETURN, class INPUT>
class PureGadget : public Gadgetron::Core::GenericPureGadget
Channels
-
class MessageChannel : public Gadgetron::Core::Channel
-
class OutputChannel
The end of a channel which provides output. Only constructible through make_channel(args)
Public Functions
-
OutputChannel(OutputChannel &&other) noexcept = default
-
OutputChannel &operator=(OutputChannel &&other) noexcept = default
-
void push_message(Message)
Pushes a message to the channel.
-
ChannelIterator<OutputChannel> begin()
-
OutputChannel(OutputChannel &&other) noexcept = default
-
class GenericInputChannel : public ChannelRange<GenericInputChannel>
The end of a channel which provides input
Public Functions
-
GenericInputChannel(GenericInputChannel &&other) noexcept = default
-
GenericInputChannel &operator=(GenericInputChannel &&other) noexcept = default
-
Message pop()
Blocks until it can take a message from the channel.
-
GenericInputChannel(GenericInputChannel &&other) noexcept = default
-
template<class ...TYPELIST>
class InputChannel : public ChannelRange<InputChannel<TYPELIST...>>
Core Types
-
using Gadgetron::Core::Acquisition = tuple<ISMRMRD::AcquisitionHeader, hoNDArray<std::complex<float>>, optional<hoNDArray<float>>>
An Acquisition consists of a data header, the kspace data itself and optionally an array of kspace trajectories.
-
template<class T>
using Gadgetron::Core::Image = tuple<ISMRMRD::ImageHeader, hoNDArray<T>, optional<ISMRMRD::MetaContainer>> An image consists of a header, an array of image data and optionally some metadata.
-
using Gadgetron::Core::Waveform = tuple<ISMRMRD::WaveformHeader, hoNDArray<uint32_t>>
A Waveform consiste of a header, followed by the raw Waveform data. See the MRD documentation page for more details.
Warning
doxygenfunction: Cannot find function “Gadgetron::Core::visit” in doxygen xml output for project “Gadgetron” from directory: doc/xml