diff --git a/include/boost/gil/image_processing/Kmeans.hpp b/include/boost/gil/image_processing/Kmeans.hpp new file mode 100644 index 0000000000..1b1516dd78 --- /dev/null +++ b/include/boost/gil/image_processing/Kmeans.hpp @@ -0,0 +1,141 @@ +#ifndef BOOST_GIL_IMAGE_PROCESSING_KMEANS_HPP +#define BOOST_GIL_IMAGE_PROCESSING_KMEANS_HPP +//#include + +#include +#include +#include +#include + +#include + +namespace boost{ namespace gil { + + + + + + + //calculating euclidean distance between a two data points + float calculate_distance(std::vector&i,std::vector& j) + { + float squared_distance=0; + for(int k=0;k> calc_centroids(std::vector&getcentroids,std::vector>&datapoints,int k) + { + std::vector>new_centroids(k); + std::vectorcluster_size(k,0); + for(int i=0;i>&datapoints,std::vector>¢roids,std::vector&labels,int iterations,std::vector&euclidean_dist) + { + for(int j=0;jdistance; + if(iterations>0) + { + //checking if the distance from the previously assigned cluster centroid is more than the newly generated cluster centroid + if(calculate_distance(datapoints[j],centroids[labels[j]])<=euclidean_dist[j]) + { + continue; + } + } + for(auto u:centroids) + { + //calculating euclidean distance to find out the nearest centroid + distance.push_back(calculate_distance(datapoints[j],u)); + } + labels[j]=(std::min_element(distance.begin(),distance.end())-distance.begin()); + euclidean_dist[j]=distance[labels[j]]; + } + + } +}//detail namespace + void kmeans(std::vector>&src,std::vector&labels,std::vector>¢roids,int iterations,int centroid_count) + { + + + BOOST_ASSERT_MSG(centroids.size()>2,"number of clusters must be greater than 2"); + BOOST_ASSERT_MSG(src.size()>2,"number of samples should be atleast 2"); + int data_length=src.size(); + std::vector>datapoints(data_length); + int n_features=src[0].size(); + + for(int i=0;ieuclidean_dist(data_length); + + labels.resize(data_length); + //the stopping criterion for KMeans here is the number of iterations + for(int i=0;i +#include +#include +#include +#include +struct node +{ + std::vectorv; + int cl=-1; +}; +struct node2 +{ + std::vectorv; + int c; +}; + +bool sortbykey(const struct node &a,const struct node &b) +{ + return a.cl>&src,std::vector>¢roids,std::vector&labels) +{ + + float distance_matrix[src.size()][src.size()]; + for(int i=0;i>sample_sil_score(src.size(),{0.0f,0.0f}); + int points_in_cluster[centroids.size()]={0}; + float distance_to_points_in_cluster[centroids.size()]; + memset(distance_to_points_in_cluster,0,sizeof(distance_to_points_in_cluster)); + for(int i=0;i1) + { + silhoutte_coefficient=sample_sil_score[i].first datapoints={{ { -0.6907989735015041 , -1.3912305298583527 , 1.496994223371903 } } , +{ { -0.6822914702668513 , -1.580632090018075 , 1.6495487112669291 } } , +{ { -0.49848080744136103 , -1.4416344598042115 , 1.7135340126451841 } } , +{ { -0.51372260524311 , -1.4858886588129374 , 1.6659145098379182 } } , +{ { -0.9111124472109686 , -1.6698203525510975 , 1.5879749706140402 } } , +{ { -0.6582517875123519 , -1.694614825779501 , 1.607566831207036 } } , +{ { -0.49939958419991537 , -1.470938196931092 , 1.6496914759404633 } } , +{ { -0.6529158851737891 , -1.655980225134066 , 1.7593238352072271 } } , +{ { -0.6358987010850634 , -1.5599730992945577 , 1.7369942880651768 } } , +{ { -0.6473228057610234 , -1.6649939684250568 , 1.6324243181372746 } } , +{ { -0.5804078891437018 , -1.524336039293675 , 1.7376922890800186 } } , +{ { -0.5453756554712076 , -1.407743642519552 , 1.5041003015991252 } } , +{ { -0.5827618362786728 , -1.1609262801933955 , 1.4802697746463906 } } , +{ { -0.5754134791278148 , -1.6542237519593004 , 1.8765997425061676 } } , +{ { -0.3256428451551792 , -1.3008299237025036 , 1.6283279462711437 } } , +{ { -0.6468035985245514 , -1.9498130217403298 , 1.713153131024956 } } , +{ { -0.4722296872050008 , -1.4426811297479663 , 1.7333443324146758 } } , +{ { -0.6205609376353236 , -1.5610234349601617 , 1.4963000677192126 } } , +{ { -0.9640017032178767 , -1.687828154485815 , 1.4816563846220674 } } , +{ { -0.5657546772119829 , -1.484603752568926 , 1.7070914185408013 } } , +{ { -0.5455199312796575 , -1.5566198933946023 , 1.6536699625041742 } } , +{ { -0.725639522645633 , -1.478816001645669 , 1.683210678738679 } } , +{ { -0.6829456604920304 , -1.7124328649608944 , 1.773086009779932 } } , +{ { -0.6868847395751762 , -1.4920696131985507 , 1.62054396505344 } } , +{ { -0.791451447640304 , -1.434012864766713 , 1.7008758135215454 } } , +{ { -0.6939460981984722 , -1.4277189617376127 , 1.5857765862374058 } } , +{ { -0.6102913748237806 , -1.4707299701283791 , 1.6155885837348731 } } , +{ { -0.6219279310089314 , -1.501092256703539 , 1.6695856515768952 } } , +{ { -0.8704873763543851 , -1.4432606869978217 , 1.519300251244178 } } , +{ { -0.503342546361977 , -1.6764163917926365 , 1.6125776719464597 } } , +{ { -0.7483531232243098 , -1.3881313650607756 , 1.3917474745571934 } } , +{ { -0.6122292330677367 , -1.623563406917556 , 1.6119696058210689 } } , +{ { -0.8625906119749935 , -1.5851094360796756 , 1.6271410253474157 } } , +{ { -0.5906423724017094 , -1.4685882922297406 , 1.774594663254591 } } , +{ { -0.5724749233898091 , -1.4198303602705042 , 1.6318256959344462 } } , +{ { -0.792182623733571 , -1.3726542539637177 , 1.6296040204655255 } } , +{ { -0.8442364752215499 , -1.6338472252771943 , 1.5696646264614398 } } , +{ { -0.7107634542029563 , -1.1640497383189576 , 1.625380547623516 } } , +{ { -0.5011649170685535 , -1.4681574680370277 , 1.5774877815213535 } } , +{ { -0.8495201363132633 , -1.5460594829155985 , 1.620569909650202 } } , +{ { -0.5859707635134661 , -1.4640385222999055 , 1.5224868642368097 } } , +{ { -0.5544914442419311 , -1.1615862060653928 , 1.550141525974418 } } , +{ { -0.43848339420610866 , -1.6548624742013327 , 1.5453174086572323 } } , +{ { -0.6730183300656118 , -1.5767195114519736 , 1.7818433441986044 } } , +{ { -0.5968273212964059 , -1.6671336261921752 , 1.73794010711285 } } , +{ { -0.5610447669626074 , -1.7701075189656004 , 1.7313267110919002 } } , +{ { -0.8050433581078491 , -1.3976023205845727 , 1.5321257786394193 } } , +{ { -0.5464664399485472 , -1.4320022804119064 , 1.6393456275111715 } } , +{ { -0.6496517806257909 , -1.4254195537332028 , 1.779938731303612 } } , +{ { -0.5661263723304617 , -1.6231572620117387 , 1.8501790069428086 } } , +{ { -0.8223344422801362 , -1.3129991981883002 , 1.769833884690926 } } , +{ { -0.8421927823180034 , -1.818837488058807 , 1.6343647012980773 } } , +{ { -0.6185502514282137 , -1.4630355594846265 , 1.6223261315812922 } } , +{ { -0.6231295468056002 , -1.7638414732196288 , 1.4592536087592474 } } , +{ { -0.7820696529927036 , -1.5014080409572172 , 1.754293777228446 } } , +{ { -0.8085146012159511 , -1.619078438639391 , 1.680002557974275 } } , +{ { -0.6326793817442772 , -1.5603745019725042 , 1.5951923230387164 } } , +{ { -0.7973480807532063 , -1.704338189649221 , 1.6852920022628357 } } , +{ { -0.4465665271955334 , -1.3484171253874822 , 1.6128721399043457 } } , +{ { -0.7336902671520974 , -1.2305820525797608 , 1.651012589789795 } } , +{ { -0.7145982060526467 , -1.4166855532141118 , 1.4809923447558022 } } , +{ { -0.5793994355892439 , -1.6784907655078407 , 1.5663138911468022 } } , +{ { -0.8333685665657228 , -1.4044408498177074 , 1.7148924615998364 } } , +{ { -0.42783524279049095 , -1.2720696571095211 , 1.6763125231708846 } } , +{ { -0.7311169544493497 , -1.649213209631377 , 1.683353113168669 } } , +{ { -0.6209826539918689 , -1.4076318492830548 , 1.442295447982632 } } , +{ { -0.5221616096298309 , -1.5455090416117998 , 1.5283184923464548 } } , +{ { -0.6960734960086988 , -1.6546640747106844 , 1.6705378681361838 } } , +{ { -0.7963313835370706 , -1.5657025008942664 , 1.5273463532006937 } } , +{ { -0.6307797332237752 , -1.7401271585768838 , 1.6744221999916828 } } , +{ { -0.8378471532385607 , -1.7124354087771099 , 1.7458966967249614 } } , +{ { -0.6199697999239057 , -1.4749743018455932 , 1.5716113481321623 } } , +{ { -0.7374207369398263 , -1.3465588968518083 , 1.7453779248866474 } } , +{ { -0.710428281726261 , -1.6090538708085935 , 1.6609238367038412 } } , +{ { -0.8885693294340745 , -1.484281463913036 , 1.7592537964607406 } } , +{ { -0.6098410747533759 , -1.5402071007530331 , 1.484915690415696 } } , +{ { -0.6431622957498799 , -1.5026046735303045 , 1.6931355002280222 } } , +{ { -0.6734786635147234 , -1.612399236873687 , 1.665452392331652 } } , +{ { -0.5876298706705066 , -1.3106631380639022 , 1.5235252508666048 } } , +{ { -0.6404319522785549 , -1.2115622547809908 , 1.7526238619994974 } } , +{ { -0.3918147892183017 , -1.2886593579614436 , 1.664071785090959 } } , +{ { -0.7443943253050573 , -1.520779102680611 , 1.5660593409736154 } } , +{ { -0.725232596439784 , -1.6247688040459602 , 1.6360546197675436 } } , +{ { -0.4988695359583421 , -1.660450558469926 , 1.5271460407695812 } } , +{ { -0.7234650317927266 , -1.6720150737672894 , 1.6969250739305668 } } , +{ { -0.5716021278333354 , -1.475188791414659 , 1.6865976472575441 } } , +{ { -0.7667250174675796 , -1.421985226824725 , 1.4397731247301186 } } , +{ { -0.6404840360071999 , -1.5845168825916813 , 1.76380822137247 } } , +{ { -0.5672960477823943 , -1.39531639108859 , 1.6720614237502607 } } , +{ { -0.8939803028710923 , -1.5916763395066502 , 1.7209349683731876 } } , +{ { -0.6228197070435735 , -1.3827223328538605 , 1.6737622764131896 } } , +{ { -0.7942551148759287 , -1.5417827621621103 , 1.5910524093714438 } } , +{ { -0.5571049749201625 , -1.3241271628212896 , 1.5415865307642886 } } , +{ { -0.5338468496032244 , -1.7718260826889989 , 1.656489375732271 } } , +{ { -0.5956350572519151 , -1.39859949686425 , 1.5317444878760371 } } , +{ { -0.7984541580872877 , -1.6639739055135414 , 1.637619679489317 } } , +{ { -0.5943243913466434 , -1.8119410116532495 , 1.743843032261065 } } , +{ { -0.6411461513293857 , -1.5470536344957375 , 1.557837037821702 } } , +{ { -0.37154358078479094 , -1.7974373018838605 , 1.5532428870244237 } } , +{ { -0.7670450860795663 , -1.7083142058245133 , 1.6699897902657017 } } , +{ { -0.6391602714047159 , -1.6415827761960808 , 1.7139947627618426 } } , +{ { -0.7044974028731928 , -1.582529402701622 , 1.4249583292465147 } } , +{ { -0.7332412289684178 , -1.4852869655511585 , 1.4872222984727728 } } , +{ { -0.6215205131628944 , -1.4806156216843156 , 1.6139715992079708 } } , +{ { -0.7943909090646155 , -1.6000936644699921 , 1.5800822618861659 } } , +{ { -0.8416275978466627 , -1.243452980843216 , 1.6174361650938813 } } , +{ { -0.81367457617932 , -1.621266235261029 , 1.7086631055728836 } } , +{ { -0.7958339498744148 , -1.1764914519126943 , 1.5472887296014115 } } , +{ { -0.7251392532889733 , -1.5662514684734894 , 1.5029416276486778 } } , +{ { -0.6951317858611904 , -1.7223262953183116 , 1.7172406932584465 } } , +{ { -0.5144593791847546 , -1.3691006554574756 , 1.6166046074633609 } } , +{ { -0.8050426959801349 , -1.5403576060299011 , 1.432722607820905 } } , +{ { -0.6519736064975311 , -1.5983756146158206 , 1.8376852536418287 } } , +{ { -0.469018611367873 , -1.6471625286838771 , 1.6272781413264117 } } , +{ { -0.663996824311464 , -1.7341280302991233 , 1.6364507480147141 } } , +{ { -0.6180890947648493 , -1.4491121651124306 , 1.4516501909440975 } } , +{ { -0.7084162627696903 , -1.3627153418360343 , 1.7244208903999625 } } , +{ { -0.5627824244916054 , -1.5614972910562444 , 1.6892238052580004 } } , +{ { -0.6757732805100645 , -1.3790506291527884 , 1.4895242231827979 } } , +{ { -0.6452968242095656 , -1.5451209912244679 , 1.734971590690997 } } , +{ { -0.6927653128543595 , -1.4399751615673402 , 1.6117985723686685 } } , +{ { -0.491304775455296 , -1.5126491980186043 , 1.539606505971218 } } , +{ { -0.7875263100757902 , -1.2446935778918913 , 1.6214731158049989 } } , +{ { -0.5258179572122946 , -1.3486685362426503 , 1.7639927176712993 } } , +{ { -0.8019918256904436 , -1.654267091899765 , 1.4781458824032168 } } , +{ { 1.3923854593026268 , 0.38267792242357507 , -0.9097061601000909 } } , +{ { 1.5335527950399037 , 0.3483369791121709 , -0.9803765369357803 } } , +{ { 1.5488959318265858 , 0.18543193054517082 , -0.8646595029257078 } } , +{ { 1.6066272414617486 , 0.27098916987445076 , -0.9635243842603177 } } , +{ { 1.6133663152384738 , 0.36679217562352884 , -0.6928694482210791 } } , +{ { 1.5309544328841265 , 0.43158246010881013 , -0.8979408426304794 } } , +{ { 1.6026400642059895 , 0.07879393350254452 , -0.7852786644512108 } } , +{ { 1.5697847016882762 , 0.3788790790907235 , -0.9410279663870661 } } , +{ { 1.4925533837076392 , 0.2042286396800253 , -1.034982320276551 } } , +{ { 1.4268192981890206 , 0.20696794965697182 , -0.7065365764875754 } } , +{ { 1.6526431037153546 , 0.39553924849893213 , -0.8006463176991141 } } , +{ { 1.671739818641235 , 0.3543206171187877 , -0.8989102568669123 } } , +{ { 1.5416205336863147 , 0.6767848944224402 , -0.7492722829075131 } } , +{ { 1.349160436643047 , 0.3405144534889345 , -0.9264912650271889 } } , +{ { 1.5386235727519217 , 0.11011563824177462 , -0.7984656334399335 } } , +{ { 2.016876124181287 , 0.1898848575101387 , -0.7233205641237694 } } , +{ { 1.4839894100226307 , 0.4616723337219155 , -0.9672251032339405 } } , +{ { 1.7273455551301042 , 0.25985400319998664 , -0.8442387162204915 } } , +{ { 1.5103134677557963 , 0.5951608139906971 , -0.9418167928427661 } } , +{ { 1.4546415759791773 , 0.1861562884410626 , -0.7750335038055401 } } , +{ { 1.3097372602299644 , 0.2797849049162157 , -0.967274779475773 } } , +{ { 1.611615539321438 , 0.2724256211676008 , -0.6771139706168927 } } , +{ { 1.54167415360891 , 0.23374917074639126 , -0.902702948713429 } } , +{ { 1.6052188714621558 , 0.25950681615246673 , -0.731889184647737 } } , +{ { 1.5158753249954062 , 0.2945626776862333 , -0.7883202182788979 } } , +{ { 1.7421954247916493 , 0.5102343141238808 , -0.7411050884626665 } } , +{ { 1.6250231982670125 , 0.15982202808790505 , -1.0429368615029442 } } , +{ { 1.7489358556980545 , 0.17921983287495122 , -0.9040964036889529 } } , +{ { 1.5977936086740259 , 0.3786114803243659 , -0.9879030615518476 } } , +{ { 1.61996425338815 , 0.22155402514148614 , -0.930450641263278 } } , +{ { 1.7049679411120147 , 0.2597172483536083 , -0.9520208612562072 } } , +{ { 1.6625604163265246 , 0.1772063270773793 , -0.9632857701461853 } } , +{ { 1.8074611652516441 , 0.3971216755444271 , -0.8339987195819052 } } , +{ { 1.5104511616829235 , 0.21540374993369418 , -0.9395244605287625 } } , +{ { 1.533120168960398 , 0.2476420041698852 , -0.9320249878413698 } } , +{ { 1.8056960177294814 , 0.3119953553966262 , -0.866850081431574 } } , +{ { 1.4391384282079267 , 0.07093244372913833 , -0.5539747867312408 } } , +{ { 1.5856461624087141 , 0.38485331708344833 , -1.0185775609369951 } } , +{ { 1.5369045369034333 , 0.2350678460359665 , -0.7738616003435449 } } , +{ { 1.559026543429794 , 0.14291187929995808 , -0.9271848887225217 } } , +{ { 1.6162138601300167 , 0.3624443797833472 , -0.9856366423873595 } } , +{ { 1.346719367692973 , 0.3919072806437415 , -0.9241987203514481 } } , +{ { 1.5142543749970399 , 0.15952680280543288 , -0.786337387536799 } } , +{ { 1.5233977686293474 , 0.17883105606726998 , -0.8208624503586477 } } , +{ { 1.7337733046776087 , 0.5779169350353573 , -1.031927971945539 } } , +{ { 1.609665702672545 , 0.44466841626153647 , -0.6154032082917354 } } , +{ { 1.569729935918762 , 0.4806956115803472 , -0.9649536869741274 } } , +{ { 1.548683398723165 , 0.20404336905538867 , -0.8462064957602015 } } , +{ { 1.6583502112149873 , 0.3227935845057378 , -0.921158399913655 } } , +{ { 1.4316935700677866 , 0.5260312978765145 , -0.8064832873260307 } } , +{ { 1.3846512283098322 , 0.6688488728935055 , -1.1423595736612986 } } , +{ { 1.7659079242736497 , 0.25760358855786547 , -0.8768279689217654 } } , +{ { 1.4008682260584746 , 0.22376227866557777 , -0.8754791511867576 } } , +{ { 1.6605286677754156 , 0.21103167542513807 , -0.9666748777353674 } } , +{ { 1.4637274631814303 , 0.6549948739561482 , -0.8369376975050108 } } , +{ { 1.5028515909349642 , 0.37655920774252644 , -0.7681893112921008 } } , +{ { 1.588072212102179 , 0.2706216006000144 , -0.8977993620538831 } } , +{ { 1.6284363083548252 , 0.36981523261518745 , -0.7276075880622361 } } , +{ { 1.6613150812942563 , 0.04987768530640422 , -0.9777020408233591 } } , +{ { 1.5319383230178294 , 0.4120567056404963 , -0.9958771141350558 } } , +{ { 1.5531669758896314 , 0.12149739246689811 , -0.8646634871761993 } } , +{ { 1.4617503886433052 , 0.17095295052747259 , -0.845089898694766 } } , +{ { 1.3298742821643854 , 0.3052680339352157 , -0.8818265619945979 } } , +{ { 1.4670682904263779 , 0.3861959705853125 , -0.9690651006290518 } } , +{ { 1.736724171847611 , 0.2358008105094481 , -0.7841379993402052 } } , +{ { 1.5385298880044338 , 0.10990241654688018 , -1.0140654709858703 } } , +{ { 1.45958898187654 , 0.20051586212014436 , -0.8415377820508756 } } , +{ { 1.6231152293277529 , 0.5053896052008197 , -0.9286955603538309 } } , +{ { 1.6700470310319906 , 0.38022455202561145 , -0.8372298696234525 } } , +{ { 1.6348415559431322 , 0.4416285428840147 , -0.8012570437911954 } } , +{ { 1.5002745571009934 , 0.2929326157736519 , -0.8905560602426269 } } , +{ { 1.8352605031168125 , 0.5347996170859108 , -1.0245019734410552 } } , +{ { 1.653968477859745 , 0.3302509084615417 , -0.8585632567851902 } } , +{ { 1.4208232732912913 , 0.3656946649487086 , -1.0078803769312212 } } , +{ { 1.522527986522151 , 0.6251502940456388 , -0.8514780148750374 } } , +{ { 1.453006817457522 , 0.33444028371942847 , -0.8314660426659347 } } , +{ { 1.4766832283175886 , 0.5948039412327709 , -1.0418811980013 } } , +{ { 1.580515526085913 , 0.24931528098952432 , -0.927892903221513 } } , +{ { 1.5795209817637563 , 0.06915606291752778 , -0.7364459206286408 } } , +{ { 1.4424526020149822 , 0.3130015161380255 , -0.9033718596840423 } } , +{ { 1.5044401784375083 , 0.10986964328900382 , -0.8038811921457213 } } , +{ { 1.6452427150493796 , 0.5058940306994723 , -0.9512155543827241 } } , +{ { 1.4891294738135648 , 0.2616739690860496 , -0.7817047587936669 } } , +{ { 1.442383662366495 , 0.4299142769950481 , -0.8352612927768693 } } , +{ { 1.470009877741393 , 0.3851973444777743 , -0.9198750553904288 } } , +{ { 1.636696475767881 , 0.31018379995217604 , -0.9396565730527758 } } , +{ { 1.39109636635288 , 0.01556519287718194 , -0.8663711989840022 } } , +{ { 1.6232390934767864 , 0.017372360480546883 , -0.8908122232000582 } } , +{ { 1.5034494161578995 , 0.25602309923470934 , -1.01006249071298 } } , +{ { 1.561326028774484 , 0.36073204764697603 , -1.074327539093634 } } , +{ { 1.5179587591073624 , 0.2782633333243173 , -0.8428377699204128 } } , +{ { 1.8051968168208485 , 0.6045373582073067 , -0.8881799191348076 } } , +{ { 1.7501290107322474 , 0.47757421396365096 , -1.0448397524772575 } } , +{ { 1.7356559098309468 , 0.2933750112683929 , -0.7594547940684849 } } , +{ { 1.7462537977007193 , 0.36298394011756974 , -0.9514970685393347 } } , +{ { 1.688079266951499 , 0.2765972456649248 , -0.71429240867193 } } , +{ { 1.772570249450796 , 0.38656603473958334 , -1.0698553068255552 } } , +{ { 1.7953204026349532 , 0.5339462620784968 , -0.7676518639359692 } } , +{ { 1.450759069745855 , 0.21452863559135557 , -0.757300161626961 } } , +{ { 1.4285451854081037 , 0.3968815197551746 , -0.6427349294058058 } } , +{ { 1.8460024190106648 , 0.15350531558871533 , -0.7999859417797495 } } , +{ { 1.714651909900483 , 0.3176456880413404 , -0.9772964906911388 } } , +{ { 1.6101114620237942 , 0.15703136707157678 , -1.0087655973293628 } } , +{ { 1.7519884981394915 , 0.3861823925986971 , -0.8951763938285245 } } , +{ { 1.6476795106256277 , 0.28313653615316947 , -0.9466594008535165 } } , +{ { 1.6994468221351813 , 0.33202738408466764 , -0.8537784677646904 } } , +{ { 1.6046589488218677 , 0.21000753347282836 , -0.7029878931898664 } } , +{ { 1.6414629606366604 , 0.5198887731929333 , -0.9368650379416515 } } , +{ { 1.5113983643095683 , 0.493812013463477 , -0.9562807057448952 } } , +{ { 1.5525420239628698 , 0.4494838293122631 , -0.6261897157408225 } } , +{ { 1.644153337699846 , 0.13713540205300087 , -0.8236117814519556 } } , +{ { 1.6448320265863503 , 0.11816319375132554 , -0.9342066930604689 } } , +{ { 1.4453707833262754 , 0.32046471787388603 , -0.9341851728423383 } } , +{ { 1.6458158107384044 , 0.16231312009778487 , -0.932249398242727 } } , +{ { 1.617506678648511 , 0.4561616389828898 , -0.8845205305355132 } } , +{ { 1.600287175837925 , 0.24413398952692827 , -0.8906946700645775 } } , +{ { 1.4911332221546088 , 0.11371999073972212 , -0.8697873161032734 } } , +{ { 1.610924436814311 , 0.401851149046258 , -0.9297840278933031 } } , +{ { 1.4931515044007662 , -0.0703820475684496 , -0.8341516151205446 } } , +{ { 1.5472877522747697 , 0.278592517779257 , -0.6885691395951743 } } , +{ { 1.439505702601448 , 0.4428734160788601 , -0.654762383798059 } } , +{ { 1.3974738382579805 , 0.2981599460884568 , -0.7737184508197069 } } , +{ { 1.6984639692374706 , 0.35983017907883547 , -0.8525469929661631 } } , +{ { 1.5045534375473129 , 0.17801366803364094 , -0.8647735816806983 } } , +{ { 1.7009259773176206 , 0.3894108186680397 , -0.5547711546863997 } } , +{ { 0.10526934882044821 , 0.07896679690783703 , -0.8285209101379531 } } , +{ { 0.10330277219219298 , -0.04392647547327535 , -0.6919633139783609 } } , +{ { 0.09176071711860921 , -0.3447219929606189 , -0.6023642366252037 } } , +{ { -0.27196786870136364 , -0.1837850163601752 , -0.6572775222134498 } } , +{ { -0.04253697560732074 , -0.09051974091808564 , -0.9175941879043199 } } , +{ { 0.07199943031600303 , 0.11355708646531168 , -0.7496525641671481 } } , +{ { 0.1255035298507539 , -0.06328103197975868 , -0.752814859419451 } } , +{ { 0.18271246949472156 , -0.011620971791396343 , -0.8622116297318484 } } , +{ { 0.06537020894817867 , 0.02396858820516534 , -0.7973339516649997 } } , +{ { 0.11921346698108581 , -0.0018130596919034084 , -0.7996100465337391 } } , +{ { 0.14580509925255986 , 0.11694655232189105 , -0.839958779520763 } } , +{ { 0.2501557196343868 , -0.14021253542932358 , -0.6095486420706384 } } , +{ { 0.018902740574334834 , -0.12235760097702726 , -0.7319485540035405 } } , +{ { 0.12251904510212375 , 0.11559221483111379 , -0.6605086410700883 } } , +{ { 0.23252835395211316 , -0.07862026023364208 , -0.8257650182277116 } } , +{ { 0.034133515213517436 , 0.12612179936418608 , -0.6446861107219665 } } , +{ { 0.2070693578496992 , 0.21008573289689048 , -0.6272285173689013 } } , +{ { 0.04591944516657831 , 0.09540771938774514 , -0.8662861504510885 } } , +{ { 0.11232270885829533 , 0.26257522862296484 , -0.7871245370538985 } } , +{ { 0.0862567596698183 , 0.1497637319864826 , -0.6486069723180158 } } , +{ { 0.18548753057936906 , 0.02476117951278078 , -0.8689895246952464 } } , +{ { 0.03857737693779395 , 0.3179945325283522 , -0.8403405267422899 } } , +{ { 0.10404272864056956 , 0.10296529421608683 , -0.758347262857756 } } , +{ { -0.10547789621349565 , 0.18161098239687376 , -0.7933202701130291 } } , +{ { 0.0740194221590383 , -0.14874001799335598 , -0.5472641524568784 } } , +{ { 0.17236070038272827 , -0.09247816320805989 , -0.6347030325232955 } } , +{ { 0.043015715423855704 , 0.07690512059825923 , -0.6341990225736267 } } , +{ { -0.05805374829619466 , 0.20986924509067653 , -0.8842317333146521 } } , +{ { 0.10707973661758831 , -0.32938034869042015 , -0.7604011478081824 } } , +{ { 0.3715636637016776 , 0.0009702482910383586 , -0.8369553184463892 } } , +{ { 0.15863811766207891 , -0.2088249170930031 , -0.7245960184792736 } } , +{ { -0.024334741087421254 , 0.040043046215304995 , -0.731504146197359 } } , +{ { 0.0836735790658442 , -0.14523358589848737 , -0.7081894957289442 } } , +{ { -0.19535994448876134 , -0.02638937798381176 , -0.7912469489776571 } } , +{ { 0.14998832963711153 , 0.06961662342966791 , -0.965437727492632 } } , +{ { -0.006664184917207161 , -0.1946481532895344 , -0.6194003220231714 } } , +{ { 0.14362267367684198 , -0.07486036589365222 , -0.7963307835756811 } } , +{ { 0.03358657865241514 , 0.041906057172401354 , -0.9118294936298955 } } , +{ { 0.1167790908833406 , -0.03939267128066384 , -0.9444659178839224 } } , +{ { 0.0030975449232199296 , -0.05489749796158986 , -0.8890899971591552 } } , +{ { 0.2836140484795967 , -0.20427728465937184 , -0.7068962070797143 } } , +{ { -0.0053817463041679016 , -0.05936080553312798 , -0.5897230131185114 } } , +{ { 0.03838965814182636 , 0.019596023635042037 , -0.6760898506004839 } } , +{ { -0.10336514145114273 , -0.011490739210248443 , -0.8156853400329671 } } , +{ { -0.04167421834981481 , 0.10132449047317486 , -0.698606952092805 } } , +{ { 0.038576295434534516 , -0.11722824325919777 , -0.7330733165768811 } } , +{ { 0.04377989149464866 , 0.132351239364825 , -0.6067097864129447 } } , +{ { 0.2047644384855499 , 0.26242278286878706 , -0.7366113105174048 } } , +{ { 0.11835825064856667 , -0.09528250293201154 , -0.672715081791932 } } , +{ { 0.12081674800529611 , -0.089910819689677 , -0.7938356160976647 } } , +{ { 0.16595344835694478 , 0.11870821149556678 , -0.7220249222096151 } } , +{ { 0.12561420141001414 , -0.20376832423075036 , -0.7043199611675486 } } , +{ { 0.03951963824245204 , -0.1724391588630068 , -0.7539575888859272 } } , +{ { 0.2352600656185299 , -0.41791963669126153 , -0.5611023910152602 } } , +{ { -0.12209587704963873 , 0.19582144080540057 , -0.6926383455551249 } } , +{ { 0.10750365724035471 , 0.11970755609746594 , -0.4608443158694439 } } , +{ { 0.02537786947258041 , -0.09790509337132537 , -0.7863718445294128 } } , +{ { 0.14342024082589297 , 0.10514487122027036 , -0.8759587756430405 } } , +{ { 0.0985005447178075 , 0.1863608535335152 , -0.7872194137813697 } } , +{ { 0.06345497162839542 , 0.09321695952041177 , -0.6823818038482097 } } , +{ { 0.07198093348791239 , -0.08903601437742631 , -0.7086721731659367 } } , +{ { 0.25685251375856205 , -0.2233694030821677 , -0.779314727236913 } } , +{ { -0.22622410869468357 , 0.02350432883100023 , -0.6297643412286112 } } , +{ { 0.21346962307553 , -0.11890118008712494 , -0.7087719148364623 } } , +{ { -0.030638842984827667 , 0.19426292371234252 , -0.6854025208237489 } } , +{ { 0.1317914845045944 , 0.05823307596609064 , -0.6796476848014028 } } , +{ { 0.043142950430106956 , 0.2024314376405058 , -0.6353395150089597 } } , +{ { 0.05472623874199113 , -0.204437480845646 , -0.6082676593236689 } } , +{ { 0.040636562625116654 , 0.02408796889446108 , -0.8142046516622753 } } , +{ { -0.08410752169118227 , -0.20820809205124416 , -0.6466043342093373 } } , +{ { 0.08266261608297344 , -0.20999480446715177 , -0.5100403427770933 } } , +{ { -0.014564207558570344 , -0.22281187267855887 , -0.7573366029343577 } } , +{ { 0.12247981835005077 , -0.19923631545318965 , -0.5544798350404543 } } , +{ { 0.054358621701158766 , 0.01109033852963585 , -0.8463011428856368 } } , +{ { -0.03541213683550126 , -0.10293802674619722 , -0.620561217164457 } } , +{ { -0.10681639891768663 , -0.03338179618155629 , -0.8422330480331909 } } , +{ { 0.02045640288133482 , -0.17545183693476665 , -0.879573773753643 } } , +{ { 0.33405723021760547 , 0.2568993198575509 , -0.9334008211714696 } } , +{ { 0.07954396291730634 , -0.19031140670065252 , -0.8169893997682033 } } , +{ { 0.08499337902188694 , -0.003197399394530935 , -0.6288876033570976 } } , +{ { 0.10028948903395081 , 0.14662895974536277 , -0.8362353836606023 } } , +{ { 0.21790143470487833 , -0.29209221479160397 , -0.8027390158209252 } } , +{ { 0.08700612672280904 , -0.007740427071046361 , -0.7797278086232534 } } , +{ { 0.3516503883921103 , -0.18073778821143266 , -0.590553194748862 } } , +{ { 0.06290693146607602 , -0.42327053191187414 , -0.8078111821855628 } } , +{ { 0.18461257667369957 , -0.02486824508551582 , -0.5632498204518268 } } , +{ { 0.08976218812496571 , 0.12931770853638158 , -0.9006575829142327 } } , +{ { 0.21969655292915122 , -0.03958382035053779 , -0.7517250975842367 } } , +{ { 0.11131759296233115 , -0.04681995484352651 , -0.668804079567175 } } , +{ { -0.025368617200777845 , -0.12375193023301533 , -0.6485299912598999 } } , +{ { -0.05119484140870933 , -0.0784738791990129 , -0.7915811491218538 } } , +{ { -0.0026210781831756615 , -0.08391669503123529 , -0.8375647965523383 } } , +{ { 0.118675992707412 , -0.20720468323423288 , -0.9867157992473286 } } , +{ { 0.22350121783405932 , 0.05364215547709665 , -0.8281781923856443 } } , +{ { 0.15426524610619644 , 0.009621573159033508 , -0.4655821428945638 } } , +{ { 0.023498656639432628 , 0.08196581049358082 , -0.6034731921135201 } } , +{ { -0.21089601611686842 , 0.027157081263248648 , -0.7047424800608054 } } , +{ { 0.03355440122391743 , 0.2955114119288389 , -0.7441793869062279 } } , +{ { 0.23869378116826992 , -0.10431477440024609 , -0.8214788518679259 } } , +{ { 0.08990396872135416 , 0.2188527291593685 , -0.729728099934026 } } , +{ { 0.12042271881172821 , -0.04543728082418026 , -0.7256039937780671 } } , +{ { 0.30173937306394233 , -0.08291635816880279 , -0.726083624107025 } } , +{ { 0.12717795803721066 , -0.10385472470395883 , -0.7275591001460283 } } , +{ { 0.07347223784624714 , -0.2738810008169603 , -0.8202972620704944 } } , +{ { 0.0419876065082787 , 0.1963813536254735 , -0.9096351729565675 } } , +{ { 0.002215414332251292 , -0.11774568138903346 , -0.6051849800247677 } } , +{ { 0.14519789502597844 , -0.15087731585305286 , -0.9382535498027551 } } , +{ { 0.2314865966569355 , 0.12474922894695403 , -0.5977247356255149 } } , +{ { 0.13171191007843638 , 0.06300686783420825 , -0.6607755191161429 } } , +{ { -0.19041526086981492 , -0.03727896661829768 , -0.7029308410525076 } } , +{ { 0.2993470322077099 , -0.010949328926551143 , -0.7553935098588378 } } , +{ { 0.0859928026138104 , -0.05451785072535843 , -0.6915000636478665 } } , +{ { 0.14330187330100852 , 0.08655188040366552 , -0.5881156232340327 } } , +{ { 0.01777685614672755 , 0.16508545572326805 , -0.7100728022481715 } } , +{ { -0.05369034247626484 , 0.03180141343604322 , -0.7349300141571076 } } , +{ { 0.2606007419783892 , 0.04963939171658656 , -0.7483820377029604 } } , +{ { 0.16862339831793977 , 0.11063994100064782 , -0.4592045065580904 } } , +{ { -0.0344448621449091 , -0.21441485747559222 , -0.6670898440897501 } } , +{ { 0.10742777893347884 , 0.01313477705302376 , -0.8630385924665939 } } , +{ { -0.0018497033366765836 , -0.06299141558028493 , -0.8755638397873076 } } , +{ { 0.14991073482093303 , 0.053789715664418404 , -0.6087310504476697 } } , +{ { 0.08829818425152755 , 0.010993910174960852 , -0.7663387229170092 } } , +{ { -0.08505152543473847 , 0.23575919578971785 , -0.7831155339018128 } } , +{ { 0.0777313299246636 , 0.13064250150530002 , -0.6210686476230358 } } , +{ { 0.10189805925919002 , -0.020168497806893337 , -0.8000192639587103 } } , +{ { -1.0034889989257845 , 0.9254194489731166 , -0.07204937017156744 } } , +{ { -0.8822432307295333 , 1.5990039991725677 , -0.04347884731645767 } } , +{ { -0.8978665225911288 , 1.2599942769540804 , -0.006831034416118517 } } , +{ { -0.9303566638280677 , 1.506104675340196 , 0.03710820577369733 } } , +{ { -1.1093941049909106 , 1.3070605327640237 , 0.05727213365017971 } } , +{ { -1.187576418794873 , 1.3361822411709685 , -0.0985201089577524 } } , +{ { -0.8388082313264669 , 1.2447751799166096 , 0.03654838962474808 } } , +{ { -0.9787150578554697 , 1.0149447777324825 , -0.1646458006078995 } } , +{ { -1.0150240454119368 , 1.1573726810000071 , 0.062407218359073764 } } , +{ { -1.0387297776058342 , 1.0310618976883865 , -0.1043123383708146 } } , +{ { -0.9049951891738397 , 1.0721782864092813 , 0.04141772491818315 } } , +{ { -0.7888698233687934 , 1.2412832515902592 , 0.2113747971102438 } } , +{ { -0.9629239790448062 , 1.3559891853030743 , -0.004650237112610113 } } , +{ { -0.8357197250826417 , 1.215287921971028 , 0.0043628962590918615 } } , +{ { -1.063997330844618 , 1.392496365995951 , 0.041852884423983557 } } , +{ { -0.9035870465496507 , 1.136583241770531 , 0.08040431909228045 } } , +{ { -1.2249915445236603 , 1.2596845585502994 , -0.08183326561511846 } } , +{ { -0.911684228072397 , 1.3347252402390506 , -0.017128566810418216 } } , +{ { -1.0781395822963655 , 1.3781686894221976 , -0.08924610533997387 } } , +{ { -1.1022131110572249 , 1.1091180947175725 , -0.1405066493199911 } } , +{ { -0.8995002407407859 , 1.2647966248196911 , 0.019437485429987487 } } , +{ { -0.7681733783890743 , 1.2021882803112065 , 0.0141734632212231 } } , +{ { -1.0205332456616465 , 1.1447131720091606 , -0.01740456479842632 } } , +{ { -0.9551454023282345 , 1.2930688195275069 , -0.033832219967142994 } } , +{ { -1.0283932379313416 , 1.0743531890296918 , -0.045594745106304006 } } , +{ { -0.825327768661447 , 1.2865286783998615 , -0.22480613845729017 } } , +{ { -0.8304400849266385 , 1.2319750126253786 , -0.05347228924233102 } } , +{ { -1.0617264499378136 , 1.096636678019143 , 0.07495282129418075 } } , +{ { -0.9346711241516972 , 0.9895681440150568 , 0.004623713034332239 } } , +{ { -1.003382530296229 , 0.9626449501823348 , 0.032486658868899294 } } , +{ { -0.9754520567968423 , 1.4249991244303126 , -0.033659044407652244 } } , +{ { -1.2916577099131425 , 1.1120128971931162 , 0.05459838121815515 } } , +{ { -1.0697859871236124 , 1.2872969034136648 , 0.052415203735152405 } } , +{ { -0.919661867161895 , 1.1808027494752484 , -0.09866303672479308 } } , +{ { -1.0647302714228921 , 1.399809200271662 , 0.06123356245308838 } } , +{ { -0.9249291697414421 , 1.2771108621211396 , -0.12833651432140697 } } , +{ { -0.6878042499519909 , 0.9916260704275968 , 0.07044967074900642 } } , +{ { -1.0046791317444277 , 1.363270827394231 , -0.150262428694772 } } , +{ { -1.1819264995268988 , 1.2474954860874985 , -0.05863149931959319 } } , +{ { -1.1747722459713041 , 1.5471231102270329 , -0.2530120434474433 } } , +{ { -1.1870285540626266 , 1.2731285341268148 , -0.08779778860975715 } } , +{ { -0.9726104983975965 , 1.1697187747740023 , -0.12974551664116352 } } , +{ { -0.9222141671588413 , 1.511363136244606 , 0.04733445194447016 } } , +{ { -1.0339021897204022 , 1.0294790697119478 , 0.027370074401686616 } } , +{ { -0.9486727078481917 , 1.2322763748494459 , -0.020166530129183666 } } , +{ { -0.7517779922240159 , 1.0344081011744246 , 0.01021114718404385 } } , +{ { -0.8971480189368692 , 1.4742225553936203 , 0.12541914877635976 } } , +{ { -1.0570277606635676 , 1.2637595500671723 , -0.0011557904967062751 } } , +{ { -1.2285033371527192 , 0.9994870489902105 , 0.03509516144156377 } } , +{ { -1.07928378906578 , 1.194985177544314 , -0.03949782464109831 } } , +{ { -1.2365872549756476 , 0.9914125806254712 , 0.088663310089026 } } , +{ { -1.2138782194306152 , 1.2985807451358413 , 0.08094839621111827 } } , +{ { -1.018874344749598 , 0.8792567862024668 , -0.05466099307969677 } } , +{ { -1.0795283947999372 , 1.3477484202730794 , -0.10059414524904235 } } , +{ { -1.0742644142764914 , 1.3740158060625833 , 0.048437545021203475 } } , +{ { -0.7267619968377902 , 1.2619283015468927 , -0.12647501220263507 } } , +{ { -0.8538688550636672 , 1.1458335593329516 , 0.09184256946125025 } } , +{ { -0.8657162596594603 , 1.1942775076548418 , 0.02891813181722695 } } , +{ { -0.9552211154963158 , 1.4587776864031021 , 0.05323999847507256 } } , +{ { -0.9370726662863325 , 1.092207214133884 , -0.07326257699458323 } } , +{ { -1.057682800593953 , 1.1800001935459088 , 0.23962496782556886 } } , +{ { -1.0169099165814686 , 1.154451691027666 , -0.04068922464656176 } } , +{ { -1.0923048371679278 , 1.1619325767502018 , 0.06558106444475852 } } , +{ { -0.9535521567639803 , 1.3729669741451185 , 0.020471917657947175 } } , +{ { -0.8504609595122535 , 1.0128638150567795 , -0.16029433093920314 } } , +{ { -1.016985500496826 , 1.3435241761590446 , -0.013668646778394153 } } , +{ { -1.0295493740646648 , 1.4326366932295695 , 0.07785431356405509 } } , +{ { -1.0766136283510037 , 1.2503945083293626 , -0.13645042456050113 } } , +{ { -1.1516157378067207 , 0.7751000515444775 , -0.016372115147858583 } } , +{ { -1.0224911615223686 , 1.0942467541650234 , -0.034983897165545605 } } , +{ { -1.1488842025706876 , 1.205446426486528 , 0.03664476078260301 } } , +{ { -0.9400476233565555 , 1.1571860708456094 , -0.12370554343039401 } } , +{ { -1.0741224593547105 , 1.6576502792072116 , 0.008249257073701232 } } , +{ { -1.1472732621170807 , 1.522270293205654 , -0.07968744887333537 } } , +{ { -1.0980732460603955 , 1.3617262532728047 , -0.022229808031034932 } } , +{ { -0.7683276833478415 , 1.0526019631452064 , -0.21664609293798642 } } , +{ { -1.0980068606098625 , 1.5393866097563873 , -0.053515102078192656 } } , +{ { -0.9554171324538531 , 0.8973366324445216 , 0.0364989211024352 } } , +{ { -1.1891679143382816 , 1.3810934733895863 , -0.07213410673346807 } } , +{ { -1.2829168836720053 , 1.1699905667670056 , -0.10253653747733897 } } , +{ { -1.1506498615931797 , 1.2346228117338398 , 0.023696312835942254 } } , +{ { -1.0952942792220417 , 1.1328400874248714 , -0.147038362443522 } } , +{ { -0.8036712711857055 , 1.378495895843762 , 0.10072921043786788 } } , +{ { -1.0174947210865208 , 1.3844306601640308 , -0.07142157813949779 } } , +{ { -0.8857254552338549 , 1.2823805846918006 , 0.1387425502251695 } } , +{ { -1.138735693021233 , 1.2169474395262065 , 0.06827860593935851 } } , +{ { -1.042427336329534 , 1.2651513828401448 , -0.04881870748559873 } } , +{ { -1.158729154483946 , 1.2589785365200215 , 0.18104462970862803 } } , +{ { -0.9174295754581193 , 0.9750384004749518 , 0.08442898301019283 } } , +{ { -0.7625728093705464 , 1.0885335580014148 , -0.036346837329154044 } } , +{ { -0.8929012312972646 , 1.2431727369356236 , -0.07630101339580818 } } , +{ { -1.0743831624021987 , 0.9089404979241266 , -0.0772725438443217 } } , +{ { -0.8824054529161841 , 1.0126950287125793 , -0.16854925203891452 } } , +{ { -0.8382820747710773 , 1.2023670743504606 , -0.12176843616245449 } } , +{ { -0.9063262644326383 , 1.3800903588927564 , -0.02304203866405486 } } , +{ { -0.8548225956889995 , 1.1625387915756928 , -0.2129297328990174 } } , +{ { -0.8387087258360187 , 1.0311026211203864 , -0.1537578287767499 } } , +{ { -1.089620869793037 , 1.4392082735726321 , -0.20170639816466027 } } , +{ { -1.359066782864209 , 1.1414739794485305 , -0.10113721460668572 } } , +{ { -1.2832773920551401 , 1.1638571729238738 , -0.026378431983086297 } } , +{ { -0.9057976867487005 , 1.3989923910574307 , -0.14206127270148924 } } , +{ { -0.9684996140726473 , 1.3237926476204134 , 0.1043531560864367 } } , +{ { -0.9932334095877323 , 1.4499295807284982 , -0.10796587486799793 } } , +{ { -0.8775610374493121 , 1.027392532033278 , -0.024605790692957912 } } , +{ { -0.9584446300233735 , 1.1804257850530926 , -0.15038393703932246 } } , +{ { -0.8065257916560759 , 1.2106042649706041 , -0.10619762965924494 } } , +{ { -1.1573712408899848 , 1.0693955951396865 , 0.025171170271119144 } } , +{ { -1.0477958303483923 , 1.123457596215175 , -0.0951916590009024 } } , +{ { -1.0425389785039256 , 1.0897090815871664 , -0.20577919402392875 } } , +{ { -0.9964790836027293 , 1.1831505864383975 , 0.0936137806400232 } } , +{ { -1.0790001750592184 , 0.9498320869929823 , -0.0813046251047546 } } , +{ { -1.1007914469105635 , 1.1842220162078383 , 0.09300544203893533 } } , +{ { -1.0103594969425844 , 1.2008795616915888 , 0.042468191300845316 } } , +{ { -1.1089094373293131 , 1.254567756743476 , 0.20960182362643642 } } , +{ { -0.9229550645336103 , 1.4796864935840068 , 0.09542552068767131 } } , +{ { -1.063928840902714 , 1.2726480926144597 , -0.07554385665028884 } } , +{ { -1.046240116621976 , 1.1478718222308 , 0.027262069701121095 } } , +{ { -0.8756696191797929 , 1.2447027844010707 , 0.031357521293206195 } } , +{ { -1.0554290684436098 , 1.159390720675621 , -0.09564442044159413 } } , +{ { -0.9367975587064877 , 1.3584967470404452 , 0.0349113858499433 } } , +{ { -0.9428157762709559 , 1.4555965630146428 , 0.06587992547811626 } } , +{ { -0.8065736533526267 , 1.4331002117995764 , -0.034544828125594104 } } , +{ { -1.1318721561165206 , 1.365473841241093 , -0.2685006812061672 } } , +{ { -1.0943503754121608 , 1.2703540986030508 , -0.02828959113941095 } } , +{ { -0.9658445614832414 , 0.9918369640416936 , -0.02505133673038869 } } }; + std::vectororigLabels{1,2,0,3,0,1,2,3,1,2,3,1,3,1,2,3,1,1,0,2,0,3,2,2,0,2,2,1,0,3,2,1,1,3,0,0,0,0,1,3,3,2,0,1,1,1,3,1,0,3,3,3,2,0,3,3,0,0,3,0,2,3,0,1,0,1,1,2,0,2,3,1,1,3,1,2,3,2,2,3,2,0,0,1,0,1,2,0,3,0,3,2,2,0,2,1,2,0,2,1,3,2,1,1,0,3,2,0,2,3,0,1,3,0,3,2,2,2,3,1,3,2,1,2,0,3,1,0,3,1,1,3,1,0,1,2,1,1,1,0,1,0,0,2,1,1,2,0,3,2,1,2,1,2,3,0,2,1,0,2,0,3,3,0,2,0,3,3,3,3,3,2,3,2,1,3,3,3,2,3,1,0,1,2,1,1,1,1,2,0,2,0,1,2,2,2,2,1,0,1,3,0,0,2,3,3,0,3,1,0,2,0,3,1,1,2,2,0,1,1,2,3,1,0,1,0,1,2,1,0,3,1,1,0,3,2,1,3,2,3,1,3,1,3,1,0,2,0,2,2,0,1,3,2,0,0,1,2,2,0,0,0,1,0,1,3,2,2,2,3,1,2,1,0,0,2,1,2,0,2,2,3,3,2,2,1,2,3,2,1,0,0,0,2,2,1,0,2,3,1,2,0,1,2,3,0,2,1,2,1,2,3,1,3,0,0,1,2,3,3,3,3,3,3,3,3,0,1,2,1,1,0,2,2,1,0,3,2,2,0,2,2,0,3,2,3,3,3,1,1,1,1,2,2,3,0,2,0,0,1,0,1,0,0,2,3,0,0,0,3,0,2,1,2,3,2,1,0,3,0,1,3,1,1,0,2,2,3,0,0,1,0,2,0,0,0,1,1,3,2,0,1,2,2,3,0,0,1,1,3,0,0,0,1,3,2,3,0,2,1,0,0,3,1,3,3,3,0,3,3,1,2,0,3,1,0,0,3,3,0,2,3,1,1,1,2,1,1,2,1,3,2,0,1,3,2,3,3,0,3,3,3,0,2,2,1,2,0,3,2,1,3,0,3,3,1,1,1,3,0,2,0,3,1,1,2,3,3,0,0,2,3,0,3,3,3,3,2,2,0}; + sort(origLabels.begin(),origLabels.end()); + std::vector>src(500); + for(int i=0;isizes; + for(auto u:freq) + sizes.push_back(u); + int iterations=100,k=4; + int data_length=500; + std::vector>centroids(k); + std::vectorpredicted_labels; + int runs=20; + float best_score=-1; + //running the Kmeans 20 times with different centroids initialization + //the dataset has been converted into a vector of vectors where each vector[i] represents a datapoint. + for(int i=0;i