Konstantin Ladutenko vor 7 Jahren
Ursprung
Commit
385c910ea7
3 geänderte Dateien mit 19 neuen und 2 gelöschten Zeilen
  1. 16 0
      src/generator-rf.cc
  2. 1 0
      src/generator-rf.h
  3. 2 2
      src/jade.h

+ 16 - 0
src/generator-rf.cc

@@ -5,6 +5,22 @@ namespace mri {
   // ********************************************************************** //
   // ********************************************************************** //
   // ********************************************************************** //
+  void GeneratorRF::RandomizeVoxels(){
+    std::random_device rd;
+    std::mt19937_64 gn;
+    gn.seed(rd());
+    double lbound = 0.0, ubound = 1.0;
+    std::uniform_real_distribution<double> rand(lbound, ubound);
+    for (int i = 0; i < 10; ++i;){
+      std::cout<< rand(gn) <<" ";
+    }
+    std::cout<<std::endl;
+  
+  };
+
+  // ********************************************************************** //
+  // ********************************************************************** //
+  // ********************************************************************** //
   void GeneratorRF::SetAmplitudes(std::vector<double> amplitudes){
     if (amplitudes.size() != voxel_num_)
       throw std::invalid_argument("Number of amplitudes do not fit number of voxels");    

+ 1 - 0
src/generator-rf.h

@@ -6,6 +6,7 @@ namespace mri {
   class GeneratorRF {
   public:
     const double PI_=3.14159265358979323846;
+    void RandomizeVoxels();
     void SetAmplitudes(std::vector<double> amplitudes);
     void SetT2sDecays(std::vector<double> T2s_decays);
     void SetTimer(long total_periods, double period_ms, int samples_per_period);

+ 2 - 2
src/jade.h

@@ -177,8 +177,8 @@ namespace jade {
     /// Names are in notation from Jingqiao Zhang and Arthur C. Sanderson book.
     // @{
     /// @todo Select random generator enginge for best results in DE!
-    //std::mt19937_64 generator_;
-    std::ranlux48 generator_;
+    std::mt19937_64 generator_;
+    //std::ranlux48 generator_;
     /// @brief randn(&mu;, &sigma^2; ) denotes a random value from a normal
     /// distribution of mean &mu; and variance &sigma^2;
     double randn(double mean, double stddev);