Core¶
Nodes and Gadgets¶
-
class Gadgetron::Core::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 comming 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 Gadgetron::Core::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.
- tparam 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 comming 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 Gadgetron::Core::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 comming 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 Gadgetron::Core::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.
-
OutputChannel(OutputChannel &&other) noexcept = default¶
-
class Gadgetron::Core::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.
-
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.
-
using Gadgetron::Core::optional = boost::optional<T>¶
Warning
doxygentypedef: Cannot find typedef “Gadgetron::Core::variant” in doxygen xml output for project “Gadgetron” from directory: doc/xml
Warning
doxygenfunction: Cannot find function “Gadgetron::Core::visit” in doxygen xml output for project “Gadgetron” from directory: doc/xml