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
27
namespace
MR
28
{
29
namespace
Stats
30
{
31
namespace
PermTest
32
{
33
34
35
class
Permutation
36
{
MEMALIGN
(
Permutation
)
37
public
:
38
size_t
index
;
39
vector<size_t>
data;
40
};
41
42
43
class
PermutationStack
44
{
MEMALIGN
(
PermutationStack
)
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
:
59
vector< vector<size_t>
>
permutations
;
60
size_t
counter
;
61
ProgressBar
progress
;
62
};
63
64
65
66
67
}
68
}
69
}
70
71
#endif
MR::ProgressBar
implements a progress meter to provide feedback to the user
Definition:
progressbar.h:58
MR::Stats::PermTest::Permutation
Definition:
permstack.h:36
MR::Stats::PermTest::PermutationStack
Definition:
permstack.h:44
MR::Stats::PermTest::PermutationStack::progress
ProgressBar progress
Definition:
permstack.h:61
MR::Stats::PermTest::PermutationStack::counter
size_t counter
Definition:
permstack.h:60
MR::Stats::PermTest::PermutationStack::permutations
vector< vector< size_t > > permutations
Definition:
permstack.h:59
MR::vector< size_t >
MR
Definition:
base.h:24
index
size_t index
Definition:
ordered_thread_queue.h:38
progressbar.h
MEMALIGN
#define MEMALIGN(...)
Definition:
types.h:185
src
stats
permstack.h
Generated on Mon Jul 4 2022 08:00:07 for MRtrix by
1.9.3