1 /* Copyright (C) 2018 Federico Simmross Wattenberg,
2 * Manuel Rodríguez Cayetano,
3 * Javier Royuela del Val,
4 * Elena Martín González,
6 * Marcos Martín Fernández and
7 * Carlos Alberola López
9 * This file is part of OpenCLIPER.
11 * OpenCLIPER is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; version 3 of the License.
15 * OpenCLIPER is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with OpenCLIPER; If not, see <http://www.gnu.org/licenses/>.
26 * Federico Simmross Wattenberg
27 * E.T.S.I. Telecomunicación
28 * Universidad de Valladolid
30 * 47011 Valladolid, Spain.
33 #ifndef INCLUDE_OPENCLIP_SIMPLEMRIRECON_HPP_
34 #define INCLUDE_OPENCLIP_SIMPLEMRIRECON_HPP_
36 #include <OpenCLIPER/CLapp.hpp>
37 #include <OpenCLIPER/XData.hpp>
38 #include <OpenCLIPER/KData.hpp>
39 #include <OpenCLIPER/Process.hpp>
40 #include <OpenCLIPER/processes/FFT.hpp>
41 #include <OpenCLIPER/processes/ComplexElementProd.hpp>
42 #include <OpenCLIPER/processes/XImageSum.hpp>
43 namespace OpenCLIPER {
45 /// @brief Class that makes a simple MRI reconstruction of a group of k-images captured by several coils.
46 class SimpleMRIRecon : public Process {
50 * @brief Default constructor.
52 * It calls the superclass constructor.
55 SimpleMRIRecon(std::shared_ptr<OpenCLIPER::CLapp> pCLapp): Process(pCLapp) {};
58 void launch(ProfileParameters profileParameters);
61 /// Pointer to Process subclass in charge of obtaining the inverse FFT of a group of k-images
62 std::unique_ptr<Process> pProcInvFFT;
63 /// Pointer to Process subclass in charge of multiplying every x-image by the sensitivity map of the coil used to capture it
64 std::unique_ptr<Process> pProcSensMapProd;
65 /// Pointer to Process subclass in charge of adding images captured from all the coils at the same time frame
66 std::unique_ptr<Process> pProcAddXImages;
69 } //namespace OpenCLIPER
71 #endif /* INCLUDE_SIMPLEMRIRECON_HPP_ */