Developer documentation
Version 3.0.3-105-gd3941f44
permstack.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 __stats_permstack_h__
18#define __stats_permstack_h__
19
20#include <mutex>
21#include <stdint.h>
22
23#include "progressbar.h"
24#include "types.h"
25#include "math/stats/permutation.h"
26
27namespace MR
28{
29 namespace Stats
30 {
31 namespace PermTest
32 {
33
34
37 public:
38 size_t index;
39 vector<size_t> data;
40 };
41
42
45 public:
46 PermutationStack (const size_t num_permutations, const size_t num_samples, const std::string msg, const bool include_default = true);
47
48 PermutationStack (vector <vector<size_t> >& permutations, const std::string msg);
49
50 bool operator() (Permutation&);
51
52 const vector<size_t>& operator[] (size_t index) const {
53 return permutations[index];
54 }
55
56 const size_t num_permutations;
57
58 protected:
60 size_t counter;
62 };
63
64
65
66
67 }
68 }
69}
70
71#endif
implements a progress meter to provide feedback to the user
Definition: progressbar.h:58
vector< vector< size_t > > permutations
Definition: permstack.h:59
Definition: base.h:24
size_t index
#define MEMALIGN(...)
Definition: types.h:185