Developer documentation
Version 3.0.3-105-gd3941f44
nifti_utils.h
Go to the documentation of this file.
1/* Copyright (c) 2008-2022 the MRtrix3 contributors.
2 *
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 *
7 * Covered Software is provided under this License on an "as is"
8 * basis, without warranty of any kind, either expressed, implied, or
9 * statutory, including, without limitation, warranties that the
10 * Covered Software is free of defects, merchantable, fit for a
11 * particular purpose or non-infringing.
12 * See the Mozilla Public License v. 2.0 for more details.
13 *
14 * For more details, see http://www.mrtrix.org/.
15 */
16
17#ifndef __file_nifti_utils_h__
18#define __file_nifti_utils_h__
19
20#include "types.h"
21#include "raw.h"
22#include "header.h"
23#include "file/config.h"
24#include "file/nifti1.h"
25#include "file/nifti2.h"
26
27namespace MR
28{
29 class Header;
30
31 namespace File
32 {
33 namespace NIfTI
34 {
35 extern bool right_left_warning_issued;
36
39
40 bool check (int VERSION, Header& H, const size_t num_axes, const vector<std::string>& suffixes);
41
42 template <int VERSION> std::unique_ptr<ImageIO::Base> read (Header& H);
43 template <int VERSION> std::unique_ptr<ImageIO::Base> read_gz (Header& H);
44
45 template <int VERSION> std::unique_ptr<ImageIO::Base> create (Header& H);
46 template <int VERSION> std::unique_ptr<ImageIO::Base> create_gz (Header& H);
47
49 std::string get_json_path (const std::string & nifti_path);
50
51 }
52 }
53}
54
55#endif
56
std::unique_ptr< ImageIO::Base > read_gz(Header &H)
std::unique_ptr< ImageIO::Base > create(Header &H)
bool right_left_warning_issued
std::string get_json_path(const std::string &nifti_path)
std::unique_ptr< ImageIO::Base > create_gz(Header &H)
std::unique_ptr< ImageIO::Base > read(Header &H)
void axes_on_write(const Header &H, vector< size_t > &order, vector< bool > &flip)
bool check(int VERSION, Header &H, const size_t num_axes, const vector< std::string > &suffixes)
int version(Header &H)
transform_type adjust_transform(const Header &H, vector< size_t > &order)
vector< size_t > order(const HeaderType &header, size_t from_axis=0, size_t to_axis=std::numeric_limits< size_t >::max())
sort range of axes with respect to their absolute stride.
Definition: stride.h:159
Definition: base.h:24
Eigen::Transform< default_type, 3, Eigen::AffineCompact > transform_type
the type for the affine transform of an image:
Definition: types.h:234
Eigen::MatrixXd H