cartodata 6.0.0
volumeutilio.h
Go to the documentation of this file.
1/* This software and supporting documentation are distributed by
2* Institut Federatif de Recherche 49
3* CEA/NeuroSpin, Batiment 145,
4* 91191 Gif-sur-Yvette cedex
5* France
6*
7* This software is governed by the CeCILL-B license under
8* French law and abiding by the rules of distribution of free software.
9* You can use, modify and/or redistribute the software under the
10* terms of the CeCILL-B license as circulated by CEA, CNRS
11* and INRIA at the following URL "http://www.cecill.info".
12*
13* As a counterpart to the access to the source code and rights to copy,
14* modify and redistribute granted by the license, users are provided only
15* with a limited warranty and the software's author, the holder of the
16* economic rights, and the successive licensors have only limited
17* liability.
18*
19* In this respect, the user's attention is drawn to the risks associated
20* with loading, using, modifying and/or developing or reproducing the
21* software by the user in light of its specific status of free software,
22* that may mean that it is complicated to manipulate, and that also
23* therefore means that it is reserved for developers and experienced
24* professionals having in-depth computer knowledge. Users are therefore
25* encouraged to load and test the software's suitability as regards their
26* requirements in conditions enabling the security of their systems and/or
27* data to be ensured and, more generally, to use and operate it in the
28* same conditions as regards security.
29*
30* The fact that you are presently reading this means that you have had
31* knowledge of the CeCILL-B license and that you accept its terms.
32*/
33#ifndef CARTODATA_IO_VOLUMEUTILIO_H
34#define CARTODATA_IO_VOLUMEUTILIO_H
35
36//--- cartodata --------------------------------------------------------------
38//--- soma-io ----------------------------------------------------------------
39#include <soma-io/config/soma_config.h> // #define soma
40//--- cartobase --------------------------------------------------------------
41#include <cartobase/object/object.h>
42//--- system -----------------------------------------------------------------
43#include <vector> // 4D vectors
44//----------------------------------------------------------------------------
45
46namespace soma {
47
48 template <typename T>
50 {
51 public:
52 //=== READ =============================================================
54 static std::set<std::string> listReadProperties();
55
71 static carto::Volume<T>*
74 carto::Object options );
75
77 static carto::Volume<T>*
80 std::vector<int> position, std::vector<int> frame,
81 std::vector<int> borders, carto::Object options );
82
84 static carto::Volume<T>*
87 std::vector<int> borders, carto::Object options );
88 };
89
90}
91
92#endif
N-D Volume main class.
Definition volumebase.h:120
static std::set< std::string > listReadProperties()
list of properties triggering partial reading and/or borders
static carto::Volume< T > * readFull(carto::Volume< T > *obj, carto::rc_ptr< DataSourceInfo > dsi, std::vector< int > borders, carto::Object options)
Worker for full reading case.
static carto::Volume< T > * readPartial(carto::Volume< T > *obj, carto::rc_ptr< DataSourceInfo > dsi, std::vector< int > position, std::vector< int > frame, std::vector< int > borders, carto::Object options)
Worker for partial reading case.
static carto::Volume< T > * read(carto::Volume< T > *obj, carto::rc_ptr< DataSourceInfo > dsi, carto::Object options)
Manages all the volumes necessary and returns the final Volume.