18#ifndef __math_stats_shuffle_h__
19#define __math_stats_shuffle_h__
30#define DEFAULT_NUMBER_SHUFFLES 5000
31#define DEFAULT_NUMBER_SHUFFLES_NONSTATIONARITY 5000
72 const bool is_nonstationarity,
73 const std::string msg =
"");
76 const size_t num_shuffles,
78 const bool is_nonstationarity,
79 const std::string msg =
"");
82 const size_t num_shuffles,
84 const bool is_nonstationarity,
87 const std::string msg =
"");
93 size_t size()
const {
return nshuffles; }
103 size_t nshuffles, counter;
104 std::unique_ptr<ProgressBar> progress;
108 const bool nshuffles_explicit,
109 const bool is_nonstationarity,
116 index_array_type load_blocks (
const std::string& filename,
const bool equal_sizes);
126 void generate_random_permutations (
const size_t num_perms,
127 const size_t num_rows,
130 const bool include_default,
131 const bool permit_duplicates);
133 void generate_all_permutations (
const size_t num_rows,
137 void load_permutations (
const std::string& filename);
140 bool is_duplicate (
const BitSet&)
const;
142 void generate_random_signflips (
const size_t num_signflips,
143 const size_t num_rows,
145 const bool include_default,
146 const bool permit_duplicates);
148 void generate_all_signflips (
const size_t num_rows,
a class to hold a named list of Option's
a class for storing bitwise information
Shuffler(const size_t num_rows, const size_t num_shuffles, const error_t error_types, const bool is_nonstationarity, const std::string msg="")
Shuffler(const size_t num_rows, const size_t num_shuffles, const error_t error_types, const bool is_nonstationarity, const index_array_type &eb_within, const index_array_type &eb_whole, const std::string msg="")
vector< size_t > PermuteLabels
bool operator()(Shuffle &output)
Shuffler(const size_t num_rows, const bool is_nonstationarity, const std::string msg="")
Eigen::Array< size_t, Eigen::Dynamic, 1 > index_array_type
Eigen::Matrix< value_type, Eigen::Dynamic, Eigen::Dynamic > matrix_type
const char * error_types[]
App::OptionGroup shuffle_options(const bool include_nonstationarity, const default_type default_skew=1.0)
double default_type
the default type used throughout MRtrix