Parcourir la source

Modification de CSL en cours

Rémi Synave il y a 7 mois
Parent
commit
c5501f7fbb
42 fichiers modifiés avec 1264 ajouts et 26 suppressions
  1. 130 23
      csl/Experiment.cpp
  2. 4 3
      csl/Experiment.hpp
  3. 34 0
      csl/data/img01_expert.json
  4. 24 0
      csl/data/img02_expert.json
  5. 34 0
      csl/data/img03_expert.json
  6. 34 0
      csl/data/img04_expert.json
  7. 24 0
      csl/data/img05_expert.json
  8. 14 0
      csl/data/img06_expert.json
  9. 24 0
      csl/data/img07_expert.json
  10. 24 0
      csl/data/img08_expert.json
  11. 34 0
      csl/data/img09_expert.json
  12. 24 0
      csl/data/img10_expert.json
  13. 34 0
      csl/data/img11_expert.json
  14. 34 0
      csl/data/img12_expert.json
  15. 24 0
      csl/data/img13_expert.json
  16. 24 0
      csl/data/img14_expert.json
  17. 24 0
      csl/data/img15_expert.json
  18. 24 0
      csl/data/img16_expert.json
  19. 34 0
      csl/data/img17_expert.json
  20. 24 0
      csl/data/img18_expert.json
  21. 34 0
      csl/data/img19_expert.json
  22. 24 0
      csl/data/img20_expert.json
  23. 34 0
      csl/data/img21_expert.json
  24. 24 0
      csl/data/img22_expert.json
  25. 44 0
      csl/data/img23_expert.json
  26. 34 0
      csl/data/img24_expert.json
  27. 24 0
      csl/data/img25_expert.json
  28. 34 0
      csl/data/img26_expert.json
  29. 24 0
      csl/data/img27_expert.json
  30. 24 0
      csl/data/img28_expert.json
  31. 34 0
      csl/data/img29_expert.json
  32. 24 0
      csl/data/img30_expert.json
  33. 24 0
      csl/data/img31_expert.json
  34. 34 0
      csl/data/img32_expert.json
  35. 44 0
      csl/data/img33_expert.json
  36. 24 0
      csl/data/img34_expert.json
  37. 24 0
      csl/data/img35_expert.json
  38. 24 0
      csl/data/img36_expert.json
  39. 24 0
      csl/data/img37_expert.json
  40. 24 0
      csl/data/img38_expert.json
  41. 34 0
      csl/data/img39_expert.json
  42. 24 0
      csl/data/img40_expert.json

+ 130 - 23
csl/Experiment.cpp

@@ -28,13 +28,14 @@ Experiment::Experiment ():QMainWindow()
   createMenus ();
   
   filenames = NULL;
-  filenames_json = NULL;
+  //filenames_json = NULL;
+  experimentation = NULL;
   suffix = NULL;
   choice = NULL;
   side = NULL;
   dataPath = new QString(QDir::currentPath()+"/data");
   resultPath = NULL;
-  algo_side='X';
+  //algo_side='X';
   expeStarted = false;
 
   openedImage = -1;
@@ -164,11 +165,13 @@ Experiment::start ()
   if(ok)
     {
       delete filenames;
-      delete filenames_json;
+      //delete filenames_json;
+      delete experimentation;
       delete choice;
       delete side;
       filenames = new QStringList();
-      filenames_json = new QStringList();
+      //filenames_json = new QStringList();
+      experimentation = new QList<QStringList*>();
       choice = new QStringList();
       side = new QStringList();
 	  
@@ -177,30 +180,74 @@ Experiment::start ()
 	  filenames->append( it.next() );
       }
 
+      std::srand(static_cast<unsigned int>(std::time(nullptr)+std::rand())); 
+
       for(int i = 0 ; i<filenames->size() ; i++)
 	{
 	  QString jsonFile((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_algo)+".json");
-	  if(! (QFile(jsonFile).exists()) )
+	  QString jsonFile2((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_expert)+".json");
+	  if((! (QFile(jsonFile).exists()) ) || (! (QFile(jsonFile2).exists()) ))
 	    {
 	      qDebug() << "WARNING !!!! " << jsonFile << " file missing";
+	      qDebug() << "OR\nWARNING !!!! " << jsonFile2 << " file missing";
 	      ok=false;
-	    }else{
-	    filenames_json->append(jsonFile);
-	  }
+	    }else
+	    {
+	      //filenames_json->append(jsonFile);
+	      QStringList *toAppend = new QStringList();
+	      toAppend->append(filenames->at(i));
+	      if((std::rand()%2) == 0)
+		{
+		  toAppend->append(QString((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_algo)+".json"));
+		  toAppend->append(QString((*resultPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_random)+".json"));
+		}
+	      else
+		{
+		  toAppend->append(QString((*resultPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_random)+".json"));
+		  toAppend->append(QString((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_algo)+".json"));
+		}
+	      experimentation->append(toAppend);
+	      toAppend = new QStringList();
+	      toAppend->append(filenames->at(i));
+	      if((std::rand()%2) == 0)
+		{
+		  toAppend->append(QString((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_algo)+".json"));
+		  toAppend->append(QString((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_expert)+".json"));
+		}
+	      else
+		{
+		  toAppend->append(QString((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_expert)+".json"));
+		  toAppend->append(QString((*dataPath)+"/"+QFileInfo(filenames->at(i)).baseName()+(*suffix_algo)+".json"));
+		}
+	      experimentation->append(toAppend);
+	    }
 	}
 
+      for(int i=0 ; i<experimentation->size() ; i++)
+	{
+	  // std::cout << experimentation->at(i)->at(0).toStdString() << " - " << experimentation->at(i)->at(1).toStdString() << " - " << experimentation->at(i)->at(2).toStdString() << std::endl;
+	  // std::cout << experimentation->at(i)->at(0).toStdString() << std::endl;
+	}
+      std::cout << std::endl << std::endl;
+
       if(!ok)
 	std::exit(EXIT_FAILURE);
-
-      std::srand(static_cast<unsigned int>(std::time(nullptr)+std::rand())); 
 	  
-      for(int i = 0 ; i<filenames->size()*2 ; i++)
+      /*for(int i = 0 ; i<filenames->size()*2 ; i++)
 	{
 	  int rand1 = std::rand()%filenames->size();
 	  int rand2 = std::rand()%filenames->size();
 	  filenames->swapItemsAt(rand1, rand2);
 	  filenames_json->swapItemsAt(rand1, rand2);
+	  }*/
+
+      for(int i = 0 ; i<experimentation->size()*4 ; i++)
+	{
+	  int rand1 = std::rand()%filenames->size();
+	  int rand2 = std::rand()%filenames->size();
+	  experimentation->swapItemsAt(rand1, rand2);
 	}
+      
       openedImage = -1;
 
       expeStarted = true;
@@ -224,7 +271,7 @@ Experiment::undo ()
 void Experiment::leftImage(){
   if(expeStarted)
     {
-      if((algo_side != 'L') && (algo_side != 'R'))
+      /*if((algo_side != 'L') && (algo_side != 'R'))
 	{
 	  qDebug() << "Something went wrong";
 	  QApplication::quit();
@@ -232,7 +279,24 @@ void Experiment::leftImage(){
       if(algo_side == 'L')
 	choice->append(QString("algo"));
       else
-	choice->append(QString("random"));
+      choice->append(QString("random"));*/
+
+
+      if(experimentation->at(openedImage)->at(1).at(experimentation->at(openedImage)->length()-6) == 'o')
+	{
+	  choice->append(QString("algo"));
+	  std::cout << "Choix algo" << std::endl;
+	}
+      if(experimentation->at(openedImage)->at(1).at(experimentation->at(openedImage)->length()-6) == 'm')
+	{
+	  choice->append(QString("random"));
+	  std::cout << "Choix random" << std::endl;
+	}
+      if(experimentation->at(openedImage)->at(1).at(experimentation->at(openedImage)->length()-6) == 't')
+	{
+	  choice->append(QString("expert"));
+	  std::cout << "Choix expert" << std::endl;
+	}
       
       openNext();
     }
@@ -241,7 +305,7 @@ void Experiment::leftImage(){
 void Experiment::rightImage(){
   if(expeStarted)
     {
-      if((algo_side != 'L') && (algo_side != 'R'))
+      /*if((algo_side != 'L') && (algo_side != 'R'))
 	{
 	  qDebug() << "Something went wrong";
 	  QApplication::quit();
@@ -249,7 +313,26 @@ void Experiment::rightImage(){
       if(algo_side == 'R')
 	choice->append(QString("algo"));
       else
-	choice->append(QString("random"));
+      choice->append(QString("random"));*/
+
+      std::cout << experimentation->at(openedImage)->at(2).at(experimentation->at(openedImage)->length()-6).toLatin1() << std::endl;
+
+      if(experimentation->at(openedImage)->at(2).at(experimentation->at(openedImage)->length()-6) == 'o')
+	{
+	  choice->append(QString("algo"));
+	  std::cout << "Choix algo" << std::endl;
+	}
+      if(experimentation->at(openedImage)->at(2).at(experimentation->at(openedImage)->length()-6) == 'm')
+	{
+	  choice->append(QString("random"));
+	  std::cout << "Choix random" << std::endl;
+	}
+      if(experimentation->at(openedImage)->at(2).at(experimentation->at(openedImage)->length()-6) == 't')
+	{
+	  choice->append(QString("expert"));
+	  std::cout << "Choix expert" << std::endl;
+	}
+      
       
       openNext();
     }
@@ -260,6 +343,8 @@ void
 Experiment::openNext (){
   openedImage = openedImage+1;
 
+  std::cout << experimentation->at(openedImage)->at(0).toStdString() << " - " << experimentation->at(openedImage)->at(1).toStdString() << " - " << experimentation->at(openedImage)->at(2).toStdString() << std::endl;
+
   if(openedImage == 1)
     undoAct->setEnabled(true);
   
@@ -297,24 +382,46 @@ Experiment::openNext (){
   else
     {
 
-      waLeft->loadImage (filenames->at(openedImage).toStdString ());
-      waRight->loadImage (filenames->at(openedImage).toStdString ());
+      // waLeft->loadImage (filenames->at(openedImage).toStdString ());
+      // waRight->loadImage (filenames->at(openedImage).toStdString ());
 
-      
+      waLeft->loadImage (experimentation->at(openedImage)->at(0).toStdString ());
+      waRight->loadImage (experimentation->at(openedImage)->at(0).toStdString ());
 
-      if(side->size() == openedImage)
+
+      // left display
+      if(QFile(experimentation->at(openedImage)->at(1)).exists()==false)
+	{
+	  for(int i = 0 ; i < waLeft->getNumberOfLines() ; i++)
+	    waLeft->addRandomSL();
+	  waLeft->saveStrengthLine (experimentation->at(openedImage)->at(1).toStdString ());
+	}
+      else
+	waLeft->loadSL(experimentation->at(openedImage)->at(1).toStdString());
+
+      // right display
+      if(QFile(experimentation->at(openedImage)->at(2)).exists()==false)
+	{
+	  for(int i = 0 ; i < waRight->getNumberOfLines() ; i++)
+	    waRight->addRandomSL();
+	  waRight->saveStrengthLine (experimentation->at(openedImage)->at(2).toStdString ());
+	}
+      else
+	waRight->loadSL(experimentation->at(openedImage)->at(2).toStdString());
+
+      /*if(side->size() == openedImage)
 	{
 	  std::srand(static_cast<unsigned int>(std::time(nullptr)+std::rand()));
 	  if((std::rand()%2) == 0)
 	    algo_side='L';
 	  else
 	    algo_side='R';
-	  side->append(QString(algo_side));
+	    side->append(QString(algo_side));
 	}
       else
-	algo_side = (side->at(openedImage)[0]).toLatin1();
+      algo_side = (side->at(openedImage)[0]).toLatin1();*/
 
-      if(algo_side == 'L')
+      /*if(algo_side == 'L')
 	{
 	  waLeft->loadSL (filenames_json->at(openedImage).toStdString ());
 	  QString jsonFile = (*resultPath)+"/"+(QFileInfo(filenames->at(openedImage)).baseName()+(QString("_random"))+".json");
@@ -343,7 +450,7 @@ Experiment::openNext (){
 	    {
 	      waLeft->loadSL(jsonFile.toStdString());
 	    }
-	}
+	    }*/
       
       waLeft->setReadOnly(true);
       waRight->setReadOnly(true);

+ 4 - 3
csl/Experiment.hpp

@@ -27,7 +27,7 @@ private:
   QString *dataPath;
   QString *resultPath;
   int screenWidth, screenHeight;
-  char algo_side;
+  // char algo_side;
   bool expeStarted;
 
   QMenu *fileMenu;
@@ -44,9 +44,10 @@ private:
 
   QProgressBar *progressBar;
   QTimer *timer;
-  
+
+  QList<QStringList*> *experimentation;
   QStringList *filenames;
-  QStringList *filenames_json;
+  //QStringList *filenames_json;
   int openedImage;
   QString *suffix;
   QStringList *choice;

+ 34 - 0
csl/data/img01_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                474.0767824497258,
+                481.97806215722125
+            ],
+            [
+                1833.09689213894,
+                2050.3820840950643
+            ]
+        ],
+        [
+            [
+                142.22303473491775,
+                1991.1224862888484
+            ],
+            [
+                1963.4680073126144,
+                2014.8263254113347
+            ]
+        ],
+        [
+            [
+                1710.6270566727605,
+                770.3747714808045
+            ],
+            [
+                1039.018281535649,
+                1864.7020109689215
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img02_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                1132.9383561643835,
+                848.5753424657535
+            ],
+            [
+                1141.9657534246576,
+                3249.86301369863
+            ]
+        ],
+        [
+            [
+                81.24657534246575,
+                2134.9794520547944
+            ],
+            [
+                2626.972602739726,
+                2080.8150684931506
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img03_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                623.8805970149253,
+                963.18407960199
+            ],
+            [
+                1838.8059701492537,
+                2327.6948590381426
+            ]
+        ],
+        [
+            [
+                2108.7893864013267,
+                1306.1359867330016
+            ],
+            [
+                94.85903814262022,
+                1233.167495854063
+            ]
+        ],
+        [
+            [
+                923.0514096185738,
+                2670.646766169154
+            ],
+            [
+                711.4427860696517,
+                926.6998341625207
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img04_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                254.93323550990462,
+                965.8738077769625
+            ],
+            [
+                4603.160674981658,
+                926.3771093176815
+            ]
+        ],
+        [
+            [
+                463.18855465884076,
+                1816.8481291269259
+            ],
+            [
+                3637.286867204695,
+                1845.5730007336756
+            ]
+        ],
+        [
+            [
+                2613.963316214233,
+                2280.0366837857664
+            ],
+            [
+                2585.2384446074834,
+                1166.9479090242112
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img05_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                70.71058823529411,
+                1806.3341176470587
+            ],
+            [
+                662.1082352941175,
+                212.13176470588235
+            ]
+        ],
+        [
+            [
+                764.9599999999999,
+                311.76941176470586
+            ],
+            [
+                1173.1529411764704,
+                1893.115294117647
+            ]
+        ]
+    ]
+}

+ 14 - 0
csl/data/img06_expert.json

@@ -0,0 +1,14 @@
+{
+    "lines": [
+        [
+            [
+                43.163819095477386,
+                942.4100502512563
+            ],
+            [
+                2316.458291457286,
+                940.0120603015075
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img07_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                334.6575342465753,
+                125.49657534246576
+            ],
+            [
+                332.2671232876712,
+                904.7705479452055
+            ]
+        ],
+        [
+            [
+                657.3630136986302,
+                89.64041095890411
+            ],
+            [
+                21.513698630136986,
+                84.85958904109589
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img08_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                102.53403141361257,
+                172.2303664921466
+            ],
+            [
+                538.1361256544502,
+                172.90052356020942
+            ]
+        ],
+        [
+            [
+                411.4764397905759,
+                55.62303664921466
+            ],
+            [
+                412.14659685863876,
+                331.72774869109946
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img09_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                439.0124416796268,
+                159.72783825816487
+            ],
+            [
+                290.76205287713844,
+                325.194401244168
+            ]
+        ],
+        [
+            [
+                383.538102643857,
+                31.562986003110424
+            ],
+            [
+                583.4370139968896,
+                483.0093312597201
+            ]
+        ],
+        [
+            [
+                567.1772939346812,
+                534.6578538102644
+            ],
+            [
+                43.04043545878694,
+                366.3219284603422
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img10_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                38.88774459320289,
+                105.45829042224511
+            ],
+            [
+                518.7229660144181,
+                183.23377960865088
+            ]
+        ],
+        [
+            [
+                543.1101956745623,
+                216.8486096807415
+            ],
+            [
+                263.6457260556128,
+                392.83213182286306
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img11_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                393.2327868852459,
+                225.36393442622952
+            ],
+            [
+                283.27868852459017,
+                107.01639344262296
+            ]
+        ],
+        [
+            [
+                280.34098360655736,
+                115.40983606557377
+            ],
+            [
+                173.32459016393443,
+                217.39016393442623
+            ]
+        ],
+        [
+            [
+                15.947540983606558,
+                236.69508196721313
+            ],
+            [
+                583.344262295082,
+                227.88196721311476
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img12_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                603.5806451612902,
+                63.87096774193548
+            ],
+            [
+                127.74193548387096,
+                1871.4193548387095
+            ]
+        ],
+        [
+            [
+                897.3870967741935,
+                1839.4838709677417
+            ],
+            [
+                616.3548387096774,
+                102.19354838709677
+            ]
+        ],
+        [
+            [
+                70.25806451612902,
+                1794.774193548387
+            ],
+            [
+                990,
+                1740.4838709677417
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img13_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                318.2622187742436,
+                18.867339022498058
+            ],
+            [
+                317.7657098525989,
+                402.66873545384016
+            ]
+        ],
+        [
+            [
+                21.846392552366176,
+                356.4934057408844
+            ],
+            [
+                602.2653219550039,
+                357.48642358417374
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img14_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                23.850931677018636,
+                381.6149068322982
+            ],
+            [
+                477.0186335403727,
+                229.23395445134577
+            ]
+        ],
+        [
+            [
+                56.31469979296067,
+                156.3561076604555
+            ],
+            [
+                539.296066252588,
+                154.36853002070393
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img15_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                60.41958041958042,
+                94.54545454545455
+            ],
+            [
+                626.013986013986,
+                81.67832167832168
+            ]
+        ],
+        [
+            [
+                153.28671328671328,
+                182.37762237762237
+            ],
+            [
+                482.7972027972028,
+                288.1118881118881
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img16_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                632.5291828793775,
+                337.1828793774319
+            ],
+            [
+                17.929961089494164,
+                340.1712062256809
+            ]
+        ],
+        [
+            [
+                426.83268482490274,
+                343.15953307392994
+            ],
+            [
+                140.94941634241246,
+                13.945525291828794
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img17_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                628.1664098613251,
+                98.12018489984591
+            ],
+            [
+                92.20338983050847,
+                153.34360554699538
+            ]
+        ],
+        [
+            [
+                393.959938366718,
+                90.7241910631741
+            ],
+            [
+                382.61941448382123,
+                386.07087827426807
+            ]
+        ],
+        [
+            [
+                158.76733436055468,
+                131.6486902927581
+            ],
+            [
+                158.76733436055468,
+                315.5624036979969
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img18_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                326.7028704422032,
+                69.51124903025601
+            ],
+            [
+                182.21877424359968,
+                382.80837858805273
+            ]
+        ],
+        [
+            [
+                323.7238169123351,
+                63.55314197051978
+            ],
+            [
+                426.5011636927851,
+                375.85725368502716
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img19_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                56.89705882352941,
+                618.0735294117648
+            ],
+            [
+                254.08823529411765,
+                95.86764705882354
+            ]
+        ],
+        [
+            [
+                239.27941176470588,
+                84.1764705882353
+            ],
+            [
+                435.69117647058823,
+                225.25
+            ]
+        ],
+        [
+            [
+                63.13235294117647,
+                643.7941176470589
+            ],
+            [
+                465.30882352941177,
+                200.30882352941177
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img20_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                48.79807692307693,
+                116.76682692307693
+            ],
+            [
+                669.2307692307693,
+                104.5673076923077
+            ]
+        ],
+        [
+            [
+                359.0144230769231,
+                43.56971153846154
+            ],
+            [
+                365.98557692307696,
+                918.4495192307693
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img21_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                186.7452282157676,
+                156.23734439834024
+            ],
+            [
+                1030.7966804979253,
+                91.52365145228215
+            ]
+        ],
+        [
+            [
+                192.2921161825726,
+                320.79502074688793
+            ],
+            [
+                1016.9294605809127,
+                657.30622406639
+            ]
+        ],
+        [
+            [
+                794.1294605809128,
+                61.940248962655595
+            ],
+            [
+                910.6141078838174,
+                541.7460580912863
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img22_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                195.7553058676654,
+                627.2159800249688
+            ],
+            [
+                391.5106117353308,
+                347.5655430711611
+            ]
+        ],
+        [
+            [
+                421.47315855181023,
+                347.5655430711611
+            ],
+            [
+                792.0099875156055,
+                537.3283395755305
+            ]
+        ]
+    ]
+}

+ 44 - 0
csl/data/img23_expert.json

@@ -0,0 +1,44 @@
+{
+    "lines": [
+        [
+            [
+                1833.1748251748252,
+                942.8438228438229
+            ],
+            [
+                179.020979020979,
+                926.1351981351982
+            ]
+        ],
+        [
+            [
+                272.1118881118881,
+                95.47785547785548
+            ],
+            [
+                126.5081585081585,
+                1814.079254079254
+            ]
+        ],
+        [
+            [
+                1931.039627039627,
+                1811.6923076923076
+            ],
+            [
+                1842.7226107226106,
+                83.54312354312354
+            ]
+        ],
+        [
+            [
+                1179.1515151515152,
+                823.4965034965035
+            ],
+            [
+                1205.4079254079254,
+                1909.5571095571095
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img24_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                316.01311475409835,
+                77.63934426229508
+            ],
+            [
+                83.09508196721312,
+                285.37704918032784
+            ]
+        ],
+        [
+            [
+                327.7639344262295,
+                80.99672131147541
+            ],
+            [
+                588.3803278688524,
+                306.3606557377049
+            ]
+        ],
+        [
+            [
+                26.01967213114754,
+                78.05901639344262
+            ],
+            [
+                591.7377049180328,
+                76.38032786885246
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img25_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                379.08713692946054,
+                190.5394190871369
+            ],
+            [
+                561.6597510373443,
+                351.86721991701245
+            ]
+        ],
+        [
+            [
+                25.89211618257261,
+                184.5643153526971
+            ],
+            [
+                607.4688796680498,
+                185.22821576763485
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img26_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                240.6015037593985,
+                456.140350877193
+            ],
+            [
+                515.2882205513785,
+                519.2982456140351
+            ]
+        ],
+        [
+            [
+                230.5764411027569,
+                481.203007518797
+            ],
+            [
+                413.03258145363407,
+                204.5112781954887
+            ]
+        ],
+        [
+            [
+                396.9924812030075,
+                180.45112781954887
+            ],
+            [
+                558.3959899749373,
+                573.4335839598997
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img27_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                48.70967741935484,
+                309.11910669975185
+            ],
+            [
+                689.4292803970224,
+                292.258064516129
+            ]
+        ],
+        [
+            [
+                372.8163771712159,
+                114.28039702233251
+            ],
+            [
+                369.0694789081886,
+                1007.9156327543425
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img28_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                21.34988363072149,
+                310.8145849495733
+            ],
+            [
+                571.978277734678,
+                305.35298681148174
+            ]
+        ],
+        [
+            [
+                150.93871217998446,
+                175.26764934057408
+            ],
+            [
+                148.95267649340573,
+                299.3948797517455
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img29_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                244.0711678832117,
+                234.75547445255475
+            ],
+            [
+                802.0812043795621,
+                192.83485401459856
+            ]
+        ],
+        [
+            [
+                854.2490875912409,
+                212.39781021897812
+            ],
+            [
+                544.036496350365,
+                696.8138686131388
+            ]
+        ],
+        [
+            [
+                511.43156934306575,
+                704.2664233576643
+            ],
+            [
+                193.76642335766425,
+                269.2235401459854
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img30_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                625.1047323506594,
+                76.46237393328161
+            ],
+            [
+                48.16136539953452,
+                240.31031807602793
+            ]
+        ],
+        [
+            [
+                33.76260667183863,
+                250.24049650892164
+            ],
+            [
+                432.955779674166,
+                334.15050426687355
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img31_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                2.67223382045929,
+                221.7954070981211
+            ],
+            [
+                516.4091858037579,
+                40.08350730688935
+            ]
+        ],
+        [
+            [
+                247.84968684759917,
+                412.1920668058455
+            ],
+            [
+                552.4843423799582,
+                35.407098121085596
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img32_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                220.41493775933608,
+                265.5601659751037
+            ],
+            [
+                104.23236514522821,
+                386.3900414937759
+            ]
+        ],
+        [
+            [
+                427.55186721991697,
+                270.8713692946058
+            ],
+            [
+                553.6929460580913,
+                407.6348547717842
+            ]
+        ],
+        [
+            [
+                10.622406639004149,
+                167.9668049792531
+            ],
+            [
+                624.0663900414937,
+                175.93360995850622
+            ]
+        ]
+    ]
+}

+ 44 - 0
csl/data/img33_expert.json

@@ -0,0 +1,44 @@
+{
+    "lines": [
+        [
+            [
+                301.3809154383243,
+                268.611326609775
+            ],
+            [
+                604.2513576415826,
+                381.8153607447634
+            ]
+        ],
+        [
+            [
+                313.7936384794414,
+                276.55546935609
+            ],
+            [
+                44.189294026377034,
+                359.9689681923972
+            ]
+        ],
+        [
+            [
+                16.881303335919316,
+                220.44996121024047
+            ],
+            [
+                517.3622963537625,
+                222.43599689681923
+            ]
+        ],
+        [
+            [
+                313.2971295577967,
+                366.92009309542277
+            ],
+            [
+                313.2971295577967,
+                220.44996121024047
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img34_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                6.2439024390243905,
+                342.1658536585366
+            ],
+            [
+                996.5268292682927,
+                357.1512195121951
+            ]
+        ],
+        [
+            [
+                247.25853658536585,
+                777.990243902439
+            ],
+            [
+                1006.5170731707317,
+                362.1463414634146
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img35_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                288,
+                121.41176470588235
+            ],
+            [
+                1166.1176470588234,
+                1335.5294117647059
+            ]
+        ],
+        [
+            [
+                542.1176470588235,
+                64.94117647058823
+            ],
+            [
+                496.94117647058823,
+                1742.1176470588234
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img36_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                142.6170468187275,
+                414.8859543817527
+            ],
+            [
+                1025.690276110444,
+                446.578631452581
+            ]
+        ],
+        [
+            [
+                597.8391356542617,
+                4.32172869147659
+            ],
+            [
+                596.3985594237695,
+                903.2412965186074
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img37_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                246.02739726027397,
+                2165.041095890411
+            ],
+            [
+                1202.0195694716242,
+                530.7162426614482
+            ]
+        ],
+        [
+            [
+                1637.839530332681,
+                2200.187866927593
+            ],
+            [
+                948.9628180039139,
+                699.4207436399217
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img38_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                154.64211737629458,
+                509.90103567318755
+            ],
+            [
+                2808.6352128883773,
+                2336.3498273878017
+            ]
+        ],
+        [
+            [
+                112.84695051783659,
+                2110.655926352129
+            ],
+            [
+                3485.716915995397,
+                2123.194476409666
+            ]
+        ]
+    ]
+}

+ 34 - 0
csl/data/img39_expert.json

@@ -0,0 +1,34 @@
+{
+    "lines": [
+        [
+            [
+                41.12176165803109,
+                797.1295336787565
+            ],
+            [
+                1007.4831606217616,
+                548.8173575129533
+            ]
+        ],
+        [
+            [
+                28.468911917098445,
+                311.5764248704663
+            ],
+            [
+                990.0854922279792,
+                311.5764248704663
+            ]
+        ],
+        [
+            [
+                1129.2668393782383,
+                147.08937823834196
+            ],
+            [
+                1126.103626943005,
+                746.5181347150259
+            ]
+        ]
+    ]
+}

+ 24 - 0
csl/data/img40_expert.json

@@ -0,0 +1,24 @@
+{
+    "lines": [
+        [
+            [
+                1816.9750889679717,
+                1937.455516014235
+            ],
+            [
+                133.50533807829183,
+                1032.2241992882564
+            ]
+        ],
+        [
+            [
+                319.11032028469754,
+                39.07473309608541
+            ],
+            [
+                416.79715302491104,
+                1992.811387900356
+            ]
+        ]
+    ]
+}