uncommitted - mldemos

Ready changes

Summary

Import uploads missing from VCS:

Diff

diff --git a/.gitignore b/.gitignore
index 1bdfa52c..0c5dae78 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,9 @@
-# Generated Executables
-/mldemos
-
 # MLDemos noise
 last-data.txt
 *.psd
 *.sln
 *.zip
 website
-/UnitTesting/UnitTesting
 
 # build/debug output
 */ValgrindOut.xml
@@ -25,8 +21,6 @@ Makefile*
 *.pro.user*
 *.app
 *.dylib
-/.qmake.cache
-/.qmake.stash
 
 # codeblocks noise
 *.layout
diff --git a/Core/basicMath.h b/Core/basicMath.h
index 5644a0fc..37913c9e 100644
--- a/Core/basicMath.h
+++ b/Core/basicMath.h
@@ -125,6 +125,23 @@ static u32 *randPerm(u32 length, s32 seed=-1)
     return perm;
 }
 
+
+// matlab code to generate the table
+// erf(x) = (x>0?1:-1) * erftable((int)(min(6.f,abs(x))*100));
+// 0:0.01:6
+static const float erftable [] = 
+{
+    0.0000000000000000f, 0.0112834155558496f, 0.0225645746918449f, 0.0338412223417354f, 0.0451111061451247f, 0.0563719777970166f, 0.0676215943933084f, 0.0788577197708907f, 0.0900781258410182f, 0.1012805939146269f, 0.1124629160182849f, 0.1236228961994743f, 0.1347583518199201f, 0.1458671148356958f, 0.1569470330628558f, 0.1679959714273635f, 0.1790118131981057f, 0.1899924612018088f, 0.2009358390186958f, 0.2118398921577497f, 0.2227025892104785f, 0.2335219229821036f, 0.2442959115991287f, 0.2550225995922731f, 0.2657000589537920f, 0.2763263901682369f, 0.2868997232157491f, 0.2974182185470128f, 0.3078800680290340f, 0.3182834958609522f, 0.3286267594591273f, 0.3389081503107902f, 0.3491259947955827f, 0.3592786549743590f, 0.3693645293446587f, 0.3793820535623103f, 0.3893297011286642f, 0.3992059840429992f, 0.4090094534196940f, 0.4187387000697961f, 0.4283923550466685f, 0.4379690901554394f, 0.4474676184260253f, 0.4568866945495403f, 0.4662251152779575f, 0.4754817197869237f, 0.4846553900016797f, 0.4937450508860821f, 0.5027496706947650f, 0.5116682611885233f, 0.5204998778130465f, 0.5292436198411704f, 0.5378986304788544f, 0.5464640969351416f, 0.5549392504563904f, 0.5633233663251089f, 0.5716157638237684f, 0.5798158061639961f, 0.5879229003816007f, 0.5959364971979084f, 0.6038560908479259f, 0.6116812188758802f, 0.6194114618987212f, 0.6270464433381957f, 0.6345858291221413f, 0.6420293273556719f, 0.6493766879629542f, 0.6566277023003051f, 0.6637822027413580f, 0.6708400622350779f, 0.6778011938374186f, 0.6846655502174442f, 0.6914331231387512f, 0.6981039429170445f, 0.7046780778547458f, 0.7111556336535152f, 0.7175367528055909f, 0.7238216139648592f, 0.7300104312985789f, 0.7361034538206912f, 0.7421009647076605f, 0.7480032805977895f, 0.7538107508749625f, 0.7595237569377731f, 0.7651427114549946f, 0.7706680576083524f, 0.7761002683235567f, 0.7814398454905507f, 0.7866873191739325f, 0.7918432468144954f, 0.7969082124228322f, 0.8018828257659413f, 0.8067677215477618f, 0.8115635585845578f, 0.8162710189760625f, 0.8208908072732779f, 0.8254236496438183f, 0.8298702930356671f, 0.8342315043402079f, 0.8385080695553697f, 0.8427007929497148f, 0.8468104962282766f, 0.8508380177009420f, 0.8547842114541484f, 0.8586499465266515f, 0.8624361060900967f, 0.8661435866351080f, 0.8697732971635868f, 0.8733261583878896f, 0.8768031019375383f, 0.8802050695740817f, 0.8835330124147180f, 0.8867878901652547f, 0.8899706703629624f, 0.8930823276298567f, 0.8961238429369151f, 0.8990962028797120f, 0.9020003989659357f, 0.9048374269152169f, 0.9076082859716850f, 0.9103139782296355f, 0.9129555079726694f, 0.9155338810266469f, 0.9180501041267614f, 0.9205051842990297f, 0.9229001282564582f, 0.9252359418101295f, 0.9275136292954247f, 0.9297341930135782f, 0.9318986326887336f, 0.9340079449406524f, 0.9360631227731995f, 0.9380651550787114f, 0.9400150261583302f, 0.9419137152583653f, 0.9437621961227241f, 0.9455614365614331f, 0.9473123980352520f, 0.9490160352563626f, 0.9506732958050965f, 0.9522851197626489f, 0.9538524393597054f, 0.9553761786408961f, 0.9568572531449688f, 0.9582965696005648f, 0.9596950256374592f, 0.9610535095131181f, 0.9623728998544057f, 0.9636540654142689f, 0.9648978648432043f, 0.9661051464753108f, 0.9672767481287117f, 0.9684134969201232f, 0.9695162090933357f, 0.9705856898613637f, 0.9716227332620125f, 0.9726281220266002f, 0.9736026274615670f, 0.9745470093426969f, 0.9754620158216676f, 0.9763483833446440f, 0.9772068365826185f, 0.9780380883732035f, 0.9788428396735702f, 0.9796217795242320f, 0.9803755850233603f, 0.9811049213113221f, 0.9818104415651265f, 0.9824927870024649f, 0.9831525868950262f, 0.9837904585907746f, 0.9844070075448683f, 0.9850028273589058f, 0.9855784998281805f, 0.9861345949966329f, 0.9866716712191824f, 0.9871902752311301f, 0.9876909422243223f, 0.9881741959297683f, 0.9886405487064082f, 0.9890905016357308f, 0.9895245446219444f, 0.9899431564974077f, 0.9903468051330306f, 0.9907359475533626f, 0.9911110300560857f, 0.9914724883356396f, 0.9918207476107068f, 0.9921562227552937f, 0.9924793184331480f, 0.9927904292352574f, 0.9930899398201836f, 0.9933782250569847f, 0.9936556501704964f, 0.9939225708887325f, 0.9941793335921891f, 0.9944262754648279f, 0.9946637246465300f, 0.9948920003868136f, 0.9951114131996171f, 0.9953222650189527f, 0.9955248493552482f, 0.9957194514521921f, 0.9959063484439121f, 0.9960858095123195f, 0.9962580960444569f, 0.9964234617896959f, 0.9965821530166383f, 0.9967344086695764f, 0.9968804605243777f, 0.9970205333436670f, 0.9971548450311778f, 0.9972836067851606f, 0.9974070232507333f, 0.9975252926710697f, 0.9976386070373253f, 0.9977471522372077f, 0.9978511082021002f, 0.9979506490526588f, 0.9980459432428015f, 0.9981371537020181f, 0.9982244379759344f, 0.9983079483650648f, 0.9983878320616981f, 0.9984642312848625f, 0.9985372834133188f, 0.9986071211165417f, 0.9986738724836455f, 0.9987376611502190f, 0.9987986064230412f, 0.9988568234026434f, 0.9989124231037001f, 0.9989655125732240f, 0.9990161950065498f, 0.9990645698610920f, 0.9991107329678676f, 0.9991547766407751f, 0.9991967897836264f, 0.9992368579949287f, 0.9992750636704192f, 0.9993114861033550f, 0.9993462015825647f, 0.9993792834882711f, 0.9994108023856942f, 0.9994408261164486f, 0.9994694198877490f, 0.9994966463594419f, 0.9995225657288811f, 0.9995472358136659f, 0.9995707121322661f, 0.9995930479825550f, 0.9996142945182758f, 0.9996345008234653f, 0.9996537139848649f, 0.9996719791623431f, 0.9996893396573607f, 0.9997058369795080f, 0.9997215109111428f, 0.9997363995701628f, 0.9997505394709432f, 0.9997639655834707f, 0.9997767113907082f, 0.9997888089442237f, 0.9998002889181156f, 0.9998111806612684f, 0.9998215122479760f, 0.9998313105269614f, 0.9998406011688324f, 0.9998494087120056f, 0.9998577566071316f, 0.9998656672600594f, 0.9998731620733716f, 0.9998802614865254f, 0.9998869850146334f, 0.9998933512859194f, 0.9998993780778804f, 0.9999050823521898f, 0.9999104802883753f, 0.9999155873163016f, 0.9999204181474947f, 0.9999249868053346f, 0.9999293066541523f, 0.9999333904272598f, 0.9999372502539452f, 0.9999408976854610f, 0.9999443437200386f, 0.9999475988269556f, 0.9999506729696857f, 0.9999535756281590f, 0.9999563158201617f, 0.9999589021219005f, 0.9999613426877595f, 0.9999636452692755f, 0.9999658172333573f, 0.9999678655797740f, 0.9999697969579359f, 0.9999716176829931f, 0.9999733337512747f, 0.9999749508550908f, 0.9999764743969193f, 0.9999779095030015f, 0.9999792610363629f, 0.9999805336092855f, 0.9999817315952467f, 0.9999828591403461f, 0.9999839201742398f, 0.9999849184206001f, 0.9999858574071167f, 0.9999867404750594f, 0.9999875707884177f, 0.9999883513426329f, 0.9999890849729398f, 0.9999897743623336f, 0.9999904220491747f, 0.9999910304344468f, 0.9999916017886847f, 0.9999921382585810f, 0.9999926418732865f, 0.9999931145504183f, 0.9999935581017863f, 0.9999939742388482f, 0.9999943645779092f, 0.9999947306450711f, 0.9999950738809456f, 0.9999953956451422f, 0.9999956972205364f, 0.9999959798173321f, 0.9999962445769250f, 0.9999964925755764f, 0.9999967248279045f, 0.9999969422902035f, 0.9999971458635975f, 0.9999973363970345f, 0.9999975146901312f, 0.9999976814958739f, 0.9999978375231799f, 0.9999979834393308f, 0.9999981198722784f, 0.9999982474128331f, 0.9999983666167385f, 0.9999984780066371f, 0.9999985820739346f, 0.9999986792805644f, 0.9999987700606605f, 0.9999988548221410f, 0.9999989339482065f, 0.9999990077987595f, 0.9999990767117464f, 0.9999991410044279f, 0.9999992009745795f, 0.9999992569016276f, 0.9999993090477226f, 0.9999993576587528f, 0.9999994029653040f, 0.9999994451835634f, 0.9999994845161754f, 0.9999995211530479f, 0.9999995552721144f, 0.9999995870400529f, 0.9999996166129631f, 0.9999996441370069f, 0.9999996697490110f, 0.9999996935770344f, 0.9999997157409060f, 0.9999997363527273f, 0.9999997555173494f, 0.9999997733328196f, 0.9999997898908039f, 0.9999998052769828f, 0.9999998195714259f, 0.9999998328489421f, 0.9999998451794108f, 0.9999998566280922f, 0.9999998672559198f, 0.9999998771197746f, 0.9999998862727435f, 0.9999998947643614f, 0.9999999026408388f, 0.9999999099452765f, 0.9999999167178646f, 0.9999999229960725f, 0.9999999288148247f, 0.9999999342066670f, 0.9999999392019217f, 0.9999999438288334f, 0.9999999481137065f, 0.9999999520810322f, 0.9999999557536089f, 0.9999999591526549f, 0.9999999622979134f, 0.9999999652077514f, 0.9999999678992515f, 0.9999999703882987f, 0.9999999726896611f, 0.9999999748170654f, 0.9999999767832677f, 0.9999999786001196f, 0.9999999802786297f, 0.9999999818290218f, 0.9999999832607887f, 0.9999999845827421f, 0.9999999858030606f, 0.9999999869293328f, 0.9999999879685986f, 0.9999999889273877f, 0.9999999898117551f, 0.9999999906273142f, 0.9999999913792682f, 0.9999999920724392f, 0.9999999927112944f, 0.9999999932999724f, 0.9999999938423057f, 0.9999999943418427f, 0.9999999948018690f, 0.9999999952254246f, 0.9999999956153229f, 0.9999999959741669f, 0.9999999963043638f, 0.9999999966081397f, 0.9999999968875528f, 0.9999999971445058f, 0.9999999973807567f, 0.9999999975979301f, 0.9999999977975265f, 0.9999999979809319f, 0.9999999981494259f, 0.9999999983041898f, 0.9999999984463144f, 0.9999999985768053f, 0.9999999986965913f, 0.9999999988065282f, 0.9999999989074059f, 0.9999999989999523f, 0.9999999990848385f, 0.9999999991626829f, 0.9999999992340556f, 0.9999999992994814f, 0.9999999993594437f, 0.9999999994143880f, 0.9999999994647240f, 0.9999999995108290f, 0.9999999995530502f, 0.9999999995917070f, 0.9999999996270934f, 0.9999999996594795f, 0.9999999996891137f, 0.9999999997162244f, 0.9999999997410216f, 0.9999999997636982f, 0.9999999997844314f, 0.9999999998033839f, 0.9999999998207052f, 0.9999999998365327f, 0.9999999998509920f, 0.9999999998641989f, 0.9999999998762595f, 0.9999999998872711f, 0.9999999998973228f, 0.9999999999064966f, 0.9999999999148674f, 0.9999999999225040f, 0.9999999999294694f, 0.9999999999358213f, 0.9999999999416126f, 0.9999999999468917f, 0.9999999999517030f, 0.9999999999560869f, 0.9999999999600808f, 0.9999999999637186f, 0.9999999999670313f, 0.9999999999700474f, 0.9999999999727929f, 0.9999999999752915f, 0.9999999999775653f, 0.9999999999796336f, 0.9999999999815150f, 0.9999999999832258f, 0.9999999999847813f, 0.9999999999861953f, 0.9999999999874802f, 0.9999999999886479f, 0.9999999999897087f, 0.9999999999906721f, 0.9999999999915470f, 0.9999999999923415f, 0.9999999999930624f, 0.9999999999937168f, 0.9999999999943107f, 0.9999999999948495f, 0.9999999999953380f, 0.9999999999957810f, 0.9999999999961828f, 0.9999999999965470f, 0.9999999999968769f, 0.9999999999971760f, 0.9999999999974469f, 0.9999999999976923f, 0.9999999999979145f, 0.9999999999981156f, 0.9999999999982978f, 0.9999999999984626f, 0.9999999999986117f, 0.9999999999987466f, 0.9999999999988686f, 0.9999999999989789f, 0.9999999999990787f, 0.9999999999991689f, 0.9999999999992504f, 0.9999999999993240f, 0.9999999999993905f, 0.9999999999994507f, 0.9999999999995048f, 0.9999999999995539f, 0.9999999999995981f, 0.9999999999996381f, 0.9999999999996740f, 0.9999999999997065f, 0.9999999999997358f, 0.9999999999997622f, 0.9999999999997861f, 0.9999999999998075f, 0.9999999999998268f, 0.9999999999998444f, 0.9999999999998600f, 0.9999999999998741f, 0.9999999999998870f, 0.9999999999998983f, 0.9999999999999087f, 0.9999999999999181f, 0.9999999999999263f, 0.9999999999999338f, 0.9999999999999407f, 0.9999999999999467f, 0.9999999999999523f, 0.9999999999999572f, 0.9999999999999616f, 0.9999999999999655f, 0.9999999999999691f, 0.9999999999999722f, 0.9999999999999751f, 0.9999999999999778f, 0.9999999999999800f, 0.9999999999999821f, 0.9999999999999840f, 0.9999999999999857f, 0.9999999999999871f, 0.9999999999999885f, 0.9999999999999898f, 0.9999999999999908f, 0.9999999999999918f, 0.9999999999999927f, 0.9999999999999933f, 0.9999999999999941f, 0.9999999999999947f, 0.9999999999999953f, 0.9999999999999958f, 0.9999999999999962f, 0.9999999999999967f, 0.9999999999999970f, 0.9999999999999973f, 0.9999999999999976f, 0.9999999999999979f, 0.9999999999999981f, 0.9999999999999983f, 0.9999999999999985f, 0.9999999999999987f, 0.9999999999999988f, 0.9999999999999989f, 0.9999999999999991f, 0.9999999999999991f, 0.9999999999999992f, 0.9999999999999993f, 0.9999999999999993f, 0.9999999999999994f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999997f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f
+};
+/*!
+ Gaussian Error Function
+*/
+static float erf(const float x)
+{
+    if(x>0) return erftable[(int)(min(6.f,x)*100)];
+    return -erftable[(int)(min(6.f,-x)*100)];
+}
+
 enum distEnum {DIST_EUCLIDEAN, DIST_MANHATTAN, DIST_INFINITE} ;
 
 inline float Distance(float *a, float *b, u32 dim, distEnum metric)
diff --git a/Core/canvas.cpp b/Core/canvas.cpp
index c705b606..60f2cb01 100644
--- a/Core/canvas.cpp
+++ b/Core/canvas.cpp
@@ -838,7 +838,7 @@ void Canvas::DrawAxes(QPainter &painter)
             for(float y = (int)(bounding.y()/mult)*mult; y < bounding.y() + bounding.height(); y += mult) cnt++;
         }
         if(!cnt) mult = minGridWidth/(float)w;
-        if(cnt && w/cnt < minGridWidth) mult *= (float)minGridWidth*cnt/w;
+        if(w/cnt < minGridWidth) mult *= (float)minGridWidth*cnt/w;
         for(float y = (int)(bounding.y()/mult)*mult; y < bounding.y() + bounding.height(); y += mult)
         {
             float canvasY = toCanvasCoords(0,y).y();
diff --git a/Core/glUtils.h b/Core/glUtils.h
index 3bb43b39..3d593208 100644
--- a/Core/glUtils.h
+++ b/Core/glUtils.h
@@ -42,12 +42,6 @@
 #endif
 
 
-#ifdef QT_OPENGL_ES_2
-// OpenGL ES does not have glColor3f, instead...
-#define glColor3f(a,b,c) glColor4f((a),(b),(c),1.0f)
-#endif
-
-
 struct GLObject
 {
     QVector<QVector3D> vertices;
diff --git a/Core/glwidget.cpp b/Core/glwidget.cpp
index f261d8dd..7e6a7015 100644
--- a/Core/glwidget.cpp
+++ b/Core/glwidget.cpp
@@ -628,32 +628,6 @@ void GLWidget::DrawSamples(const GLObject &o) const
     program->release();
 }
 
-
-#include <qglobal.h>
-
-// typedef QT_COORD_TYPE qreal;
-
-// NOTE: qreal might be a float or a double, need to account for that
-// in the call below to glMultMatrixf vs glMultMatrixd.
-
-// This would be one possibility, but the untaken branch would anger the compiler:
-
-//    if (sizeof(qreal) == sizeof(float))
-//      glMultMatrix(o.model.constData());
-//    else
-//      glMultMatrixd(o.model.constData());
-
-// Instead, we make an overloaded procedure which dispatches correctly.
-inline void glMultMatrix(const GLfloat  *m) 
-{
-  glMultMatrixf(m);
-}
-
-inline void glMultMatrix(const GLdouble *m) 
-{
-  glMultMatrixd(m);
-}
-
 void GLWidget::DrawLines(const GLObject &o) const
 {
     glPushAttrib(GL_ALL_ATTRIB_BITS);
@@ -709,7 +683,20 @@ void GLWidget::DrawLines(const GLObject &o) const
 
     glPushMatrix();
 
-    glMultMatrix(o.model.constData());
+#include <qglobal.h>
+    // qreal might be a float, need to account for that here.
+    // No choice but to use the logic in Qt/qglobal.h
+#if defined(QT_COORD_TYPE)
+    // typedef QT_COORD_TYPE qreal;
+    // (which we'll just assume is a double)
+    glMultMatrixd(o.model.constData());
+#elif defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE) || defined(QT_ARCH_SYMBIAN)
+    // typedef float qreal;
+    glMultMatrixf(o.model.constData());
+#else
+    // typedef double qreal;
+    glMultMatrixf(o.model.constData());
+#endif
 
     if(o.objectType.contains("linestrip") || o.objectType.contains("trajectories")) glBegin(GL_LINE_STRIP);
     else glBegin(GL_LINES);
diff --git a/Core/glwidget.h b/Core/glwidget.h
index e81da897..c04690e8 100644
--- a/Core/glwidget.h
+++ b/Core/glwidget.h
@@ -115,9 +115,9 @@ public:
 
     static const GLint texWidth = 128;
     static const GLint texHeight = 128;
-    const float texHalfWidth = 64.0f;
-    const float texHalfHeight = 64.0f;
-    const float texRadius = texWidth*0.9;
+    static const float texHalfWidth = 64.0f;
+    static const float texHalfHeight = 64.0f;
+    static const float texRadius = texWidth*0.9;
     static const int textureCount = 2; // 0: samples, 1: wide circle
     static GLuint *textureNames;
     static unsigned char **textureData;
diff --git a/Core/parser.cpp b/Core/parser.cpp
index 85a32ca7..094e91b7 100644
--- a/Core/parser.cpp
+++ b/Core/parser.cpp
@@ -327,7 +327,7 @@ void CSVParser::cleanData(unsigned int acceptedTypes)
         if (!(dataTypes[i]&acceptedTypes) &&  // data type does not correspond to a requested one
            (i != outputLabelColumn))       // output labels are stored separately, ignore
         {
-            cout << "Removing column " << i << " of type " << dataTypes[i] <<  " ... ";
+            cout << "Removing colum " << i << " of type " << dataTypes[i] <<  " ... ";
             for(size_t j = 0; j < data.size(); j++)
             {
                 /* @note it seems that if we have --i instead of (i-1), the compiler produces bad code (SIGSEGV) */
diff --git a/MLDemos/visualization.ui b/MLDemos/visualization.ui
index 2db59232..bafb20fb 100644
--- a/MLDemos/visualization.ui
+++ b/MLDemos/visualization.ui
@@ -122,7 +122,7 @@
            </item>
            <item>
             <property name="text">
-             <string>Distribution: Density</string>
+             <string>Distrubution: Density</string>
             </property>
            </item>
           </widget>
diff --git a/MLDemos_full.pro b/MLDemos_full.pro
index 69b907ef..0604c55f 100644
--- a/MLDemos_full.pro
+++ b/MLDemos_full.pro
@@ -9,20 +9,19 @@ greaterThan(QT_MAJOR_VERSION, 4) {
 
 TEMPLATE = subdirs
 # the main software
-CONFIG += ordered c++11
+CONFIG += ordered
 
 # Core components
 SUBDIRS = Core 3rdParty MLDemos UnitTesting
 #SUBDIRS += MLScripting
 
 # Algorithm plugins
-SUBDIRS += Obstacle GMM Kernel GP KNN Projections LWPR Maximizers Reinforcements SEDS FLAME DBSCAN Lowess CCA ASVM GHSOM RandomKernel MetricLearning
-# OpenCV
+SUBDIRS += Obstacle GMM Kernel GP KNN Projections LWPR Maximizers Reinforcements OpenCV SEDS FLAME DBSCAN Lowess CCA ASVM GHSOM RandomKernel MetricLearning Projections
 #SUBDIRS += MLR QTMeans # Experimental
 #SUBDIRS += Example
 
 # Input plugins
-#SUBDIRS += PCAFaces
+SUBDIRS += PCAFaces
 #SUBDIRS += ImportTimeseries CSVImport RandomEmitter WebImport
 
 
@@ -57,7 +56,7 @@ CCA.file = $$ALGOPATH/CCA/pluginCCA.pro
 GHSOM.file = $$ALGOPATH/GHSOM/pluginGHSOM.pro
 RandomKernel.file = $$ALGOPATH/RandomKernel/pluginRandomKernel.pro
 MetricLearning.file = $$ALGOPATH/MetricLearning/pluginMetricLearning.pro
-#OpenCV.file = $$ALGOPATH/OpenCV/pluginOpenCV.pro
+OpenCV.file = $$ALGOPATH/OpenCV/pluginOpenCV.pro
 MLR.file = $$ALGOPATH/MLR/pluginMLR.pro
 QTMeans.file = $$ALGOPATH/QTMeans/pluginQTMeans.pro
 
@@ -66,7 +65,7 @@ Example.file = $$ALGOPATH/Example/pluginExample.pro
 
 # Input plugins project files
 INPUTPATH = _IOPlugins
-#PCAFaces.file = $$INPUTPATH/PCAFaces/pluginPCAFaces.pro
+PCAFaces.file = $$INPUTPATH/PCAFaces/pluginPCAFaces.pro
 RandomEmitter.file = $$INPUTPATH/RandomEmitter/pluginRandomEmitter.pro
 WebImport.file = $$INPUTPATH/WebImport/pluginWebImport.pro
 CSVImport.file = $$INPUTPATH/CSVImport/pluginCSVImport.pro
diff --git a/_3rdParty/3rdParty.pro b/_3rdParty/3rdParty.pro
index c671d519..49f5e0f7 100644
--- a/_3rdParty/3rdParty.pro
+++ b/_3rdParty/3rdParty.pro
@@ -3,7 +3,7 @@
 ###########################
 TEMPLATE = lib
 NAME = 3rdParty
-MLPATH = $$OUT_PWD/..
+MLPATH = ..
 CONFIG += mainApp static _3rdParty
 
 include($$MLPATH/MLDemos_variables.pri)
diff --git a/_3rdParty/JnS/JnS.cpp b/_3rdParty/JnS/JnS.cpp
index 5cf925b6..ab4af50e 100644
--- a/_3rdParty/JnS/JnS.cpp
+++ b/_3rdParty/JnS/JnS.cpp
@@ -126,7 +126,7 @@ void Transform (double *X, double *Trans, int n, int T)
       Xstart = t * n ;
       Xstop  = Xstart + n ;
 
-      /* stores in Tx the t-th column of X transformed by Trans */
+      /* stores in Tx the t-th colum of X transformed by Trans */
       for (i=0; i<n ; i++) {
 	sum = 0.0 ;
 	for (s=i, Xind=Xstart; Xind<Xstop; s+=n, Xind++)
diff --git a/_3rdParty/LAMP_HMM/hmmFind.cpp b/_3rdParty/LAMP_HMM/hmmFind.cpp
index d7cfe826..ab89d6a6 100644
--- a/_3rdParty/LAMP_HMM/hmmFind.cpp
+++ b/_3rdParty/LAMP_HMM/hmmFind.cpp
@@ -117,7 +117,7 @@ int main (int argc, char *argv[])
     
     if (readHMMFile){
         hmmFile.open(hmmInputName);
-        if(!hmmFile.is_open()){
+        if(hmmFile==NULL){
             cerr << "HMM file not found. Exiting..."<<endl;
             exit(-1);
         }
@@ -218,7 +218,7 @@ int main (int argc, char *argv[])
     
             CObsSeq *obsSeq;
             ifstream sequenceFile(sequenceName);
-            assert(sequenceFile.is_open());
+            assert(sequenceFile != NULL);
     //	obsSeq = learnedHMM->ReadSequences(sequenceFile);
             obsSeq = new CObsSeq(obsType, sequenceFile);
             sequenceFile.close();
diff --git a/_3rdParty/dlib/base64/base64_kernel_1.cpp b/_3rdParty/dlib/base64/base64_kernel_1.cpp
index 5b48c789..06cae3d9 100644
--- a/_3rdParty/dlib/base64/base64_kernel_1.cpp
+++ b/_3rdParty/dlib/base64/base64_kernel_1.cpp
@@ -190,20 +190,20 @@ namespace dlib
                     case CR:
                         ch = '\r';
                         if (out.sputn(&ch,1)!=1)
-                            throw std::ios_base::failure("error occurred in the base64 object");
+                            throw std::ios_base::failure("error occured in the base64 object");
                         break;
                     case LF:
                         ch = '\n';
                         if (out.sputn(&ch,1)!=1)
-                            throw std::ios_base::failure("error occurred in the base64 object");
+                            throw std::ios_base::failure("error occured in the base64 object");
                         break;
                     case CRLF:
                         ch = '\r';
                         if (out.sputn(&ch,1)!=1)
-                            throw std::ios_base::failure("error occurred in the base64 object");
+                            throw std::ios_base::failure("error occured in the base64 object");
                         ch = '\n';
                         if (out.sputn(&ch,1)!=1)
-                            throw std::ios_base::failure("error occurred in the base64 object");
+                            throw std::ios_base::failure("error occured in the base64 object");
                         break;
                     default:
                         DLIB_CASSERT(false,"this should never happen");
@@ -235,7 +235,7 @@ namespace dlib
                 // write the encoded bytes to the output stream
                 if (out.sputn(reinterpret_cast<char*>(&outbuf),4)!=4)
                 {
-                    throw std::ios_base::failure("error occurred in the base64 object");
+                    throw std::ios_base::failure("error occured in the base64 object");
                 }
 
                 // get 3 more input bytes
@@ -265,7 +265,7 @@ namespace dlib
                 // write the encoded bytes to the output stream
                 if (out.sputn(reinterpret_cast<char*>(&outbuf),4)!=4)
                 {
-                    throw std::ios_base::failure("error occurred in the base64 object");
+                    throw std::ios_base::failure("error occured in the base64 object");
                 }
 
 
@@ -292,7 +292,7 @@ namespace dlib
                 // write the encoded bytes to the output stream
                 if (out.sputn(reinterpret_cast<char*>(&outbuf),4)!=4)
                 {
-                    throw std::ios_base::failure("error occurred in the base64 object");
+                    throw std::ios_base::failure("error occured in the base64 object");
                 }
 
                 break;
@@ -370,7 +370,7 @@ namespace dlib
                 // write the encoded bytes to the output stream
                 if (out.sputn(reinterpret_cast<char*>(&outbuf),outsize)!=outsize)
                 {
-                    throw std::ios_base::failure("error occurred in the base64 object");
+                    throw std::ios_base::failure("error occured in the base64 object");
                 }
             }
 
diff --git a/_3rdParty/dlib/bit_stream/bit_stream_kernel_1.cpp b/_3rdParty/dlib/bit_stream/bit_stream_kernel_1.cpp
index f49db14d..ad3d63ef 100644
--- a/_3rdParty/dlib/bit_stream/bit_stream_kernel_1.cpp
+++ b/_3rdParty/dlib/bit_stream/bit_stream_kernel_1.cpp
@@ -121,7 +121,7 @@ namespace dlib
             buffer <<= 8 - buffer_size;
             if (osp->rdbuf()->sputn(reinterpret_cast<char*>(&buffer),1) == 0)
             {
-                throw std::ios_base::failure("error occurred in the bit_stream object");
+                throw std::ios_base::failure("error occured in the bit_stream object");
             }
 
             buffer_size = 0;
diff --git a/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_1.cpp b/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_1.cpp
index effcf312..028609d0 100644
--- a/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_1.cpp
+++ b/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_1.cpp
@@ -127,7 +127,7 @@ namespace dlib
                 {
                     if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
                     {
-                        throw std::ios_base::failure("error occurred in the entropy_encoder object");
+                        throw std::ios_base::failure("error occured in the entropy_encoder object");
                     }
                     buf = 0;
                     buf_used = 0;
@@ -189,26 +189,26 @@ namespace dlib
         }
 
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1) == 0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
 
         buf = static_cast<unsigned char>((low >> 24)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1) == 0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
 
 
         buf = static_cast<unsigned char>((low >> 16)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
 
         buf = static_cast<unsigned char>((low >> 8)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
 
@@ -216,7 +216,7 @@ namespace dlib
         {
             buf = static_cast<unsigned char>((low)&0xFF);
             if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
-                throw std::ios_base::failure("error occurred in the entropy_encoder object");
+                throw std::ios_base::failure("error occured in the entropy_encoder object");
         }
     
 
diff --git a/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_2.cpp b/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_2.cpp
index 4f64a615..d88030f2 100644
--- a/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_2.cpp
+++ b/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_2.cpp
@@ -170,7 +170,7 @@ namespace dlib
                 // write buf to the output stream
                 if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
                 {
-                    throw std::ios_base::failure("error occurred in the entropy_encoder object");
+                    throw std::ios_base::failure("error occured in the entropy_encoder object");
                 }                   
                 
             } 
@@ -194,25 +194,25 @@ namespace dlib
 
         buf = static_cast<unsigned char>((low >> 24)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1) == 0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
 
 
         buf = static_cast<unsigned char>((low >> 16)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
 
         buf = static_cast<unsigned char>((low >> 8)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
 
 
         buf = static_cast<unsigned char>((low)&0xFF);
         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
-            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+            throw std::ios_base::failure("error occured in the entropy_encoder object");
         
     
 
diff --git a/_3rdParty/dlib/svm/rvm.h b/_3rdParty/dlib/svm/rvm.h
index f41ccd80..0acd4754 100644
--- a/_3rdParty/dlib/svm/rvm.h
+++ b/_3rdParty/dlib/svm/rvm.h
@@ -247,7 +247,7 @@ namespace dlib
                     - alpha(active_bases(i)) == the alpha value associated with sample x(i)
                     - weights(active_bases(i)) == the weight value associated with sample x(i)
                     - colm(phi, active_bases(i)) == the column of phi associated with sample x(i)
-                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_column()) 
+                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_colum()) 
                 - else
                     - the i'th sample isn't in the model and notionally has an alpha of infinity and
                       a weight of 0.
@@ -262,7 +262,7 @@ namespace dlib
             // set the initial values of these guys
             set_all_elements(active_bases, -1);
             long first_basis = pick_initial_vector(x,t);
-            get_kernel_column(first_basis, x, K_col);
+            get_kernel_colum(first_basis, x, K_col);
             active_bases(first_basis) = 0;
             set_colm(phi,0) = K_col;
             alpha(0) = compute_initial_alpha(phi, t);
@@ -384,7 +384,7 @@ namespace dlib
                     if (active_bases(i) != -1)
                         K_col = colm(phi,active_bases(i));
                     else
-                        get_kernel_column(i, x, K_col);
+                        get_kernel_colum(i, x, K_col);
 
                     // tempv2 = trans(phi_m)*B
                     tempv2 = scale_columns(trans(K_col), beta);  
@@ -476,7 +476,7 @@ namespace dlib
                         // update phi by adding the new sample's kernel matrix column in as one of phi's columns
                         tempm.set_size(phi.nr(), phi.nc()+1);
                         set_subm(tempm, get_rect(phi)) = phi;
-                        get_kernel_column(selected_idx, x, K_col);
+                        get_kernel_colum(selected_idx, x, K_col);
                         set_colm(tempm, phi.nc()) = K_col;
                         tempm.swap(phi);
 
@@ -523,7 +523,7 @@ namespace dlib
             // find the row in the kernel matrix that has the biggest normalized projection onto the t vector
             for (long r = 0; r < x.nr(); ++r)
             {
-                get_kernel_column(r,x,K_col);
+                get_kernel_colum(r,x,K_col);
                 double temp = trans(K_col)*t;
                 temp = temp*temp/length_squared(K_col);
 
@@ -540,7 +540,7 @@ namespace dlib
     // ------------------------------------------------------------------------------------
 
         template <typename T>
-        void get_kernel_column (
+        void get_kernel_colum (
             long idx,
             const T& x,
             scalar_vector_type& col
@@ -708,7 +708,7 @@ namespace dlib
                     - alpha(active_bases(i)) == the alpha value associated with sample x(i)
                     - weights(active_bases(i)) == the weight value associated with sample x(i)
                     - colm(phi, active_bases(i)) == the column of phi associated with sample x(i)
-                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_column()) 
+                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_colum()) 
                 - else
                     - the i'th sample isn't in the model and notionally has an alpha of infinity and
                       a weight of 0.
@@ -724,7 +724,7 @@ namespace dlib
             // set the initial values of these guys
             set_all_elements(active_bases, -1);
             long first_basis = pick_initial_vector(x,t);
-            get_kernel_column(first_basis, x, K_col);
+            get_kernel_colum(first_basis, x, K_col);
             active_bases(first_basis) = 0;
             set_colm(phi,0) = K_col;
             alpha(0) = compute_initial_alpha(phi, t, var);
@@ -793,7 +793,7 @@ namespace dlib
                     if (active_bases(i) != -1)
                         K_col = colm(phi,active_bases(i));
                     else
-                        get_kernel_column(i, x, K_col);
+                        get_kernel_colum(i, x, K_col);
 
                     // tempv2 = trans(phi_m)*B
                     tempv2 = trans(K_col)/var;  
@@ -882,7 +882,7 @@ namespace dlib
                         // update phi by adding the new sample's kernel matrix column in as one of phi's columns
                         tempm.set_size(phi.nr(), phi.nc()+1);
                         set_subm(tempm, get_rect(phi)) = phi;
-                        get_kernel_column(selected_idx, x, K_col);
+                        get_kernel_colum(selected_idx, x, K_col);
                         set_colm(tempm, phi.nc()) = K_col;
                         tempm.swap(phi);
 
@@ -916,7 +916,7 @@ namespace dlib
     // ------------------------------------------------------------------------------------
 
         template <typename T>
-        void get_kernel_column (
+        void get_kernel_colum (
             long idx,
             const T& x,
             scalar_vector_type& col
@@ -958,7 +958,7 @@ namespace dlib
             // find the row in the kernel matrix that has the biggest normalized projection onto the t vector
             for (long r = 0; r < x.nr(); ++r)
             {
-                get_kernel_column(r,x,K_col);
+                get_kernel_colum(r,x,K_col);
                 double temp = trans(K_col)*t;
                 temp = temp*temp/length_squared(K_col);
 
diff --git a/_3rdParty/lwpr/lwpr.hh b/_3rdParty/lwpr/lwpr.hh
index 55d6f01a..dafb2f0f 100644
--- a/_3rdParty/lwpr/lwpr.hh
+++ b/_3rdParty/lwpr/lwpr.hh
@@ -56,7 +56,7 @@ class LWPR_Exception {
       BAD_OUTPUT_DIM,   /**< \brief Thrown when an argument should have matched the output dimension of the LWPR model, but did not */
       BAD_INIT_D,       /**< \brief Thrown when the desired initial distance metric is not positive definite */
       UNKNOWN_KERNEL,   /**< \brief Thrown when the name of an unknown kernel function has been passed */
-      IO_ERROR,         /**< \brief Thrown when errors occurred during reading from or writing to files */
+      IO_ERROR,         /**< \brief Thrown when errors occured during reading from or writing to files */
       OUT_OF_RANGE,     /**< \brief Thrown when an out-of-range index was passed */
       UNSPECIFIED_ERROR /**< \brief Thrown in any other error case (should not happen) */
    } Code;
diff --git a/_3rdParty/lwpr/lwpr_binio.h b/_3rdParty/lwpr/lwpr_binio.h
index a6335f86..4500b52e 100644
--- a/_3rdParty/lwpr/lwpr_binio.h
+++ b/_3rdParty/lwpr/lwpr_binio.h
@@ -129,7 +129,7 @@ extern "C" {
    \param[in] model    Pointer to a valid LWPR model structure
    \param[in] filename The name of the file
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
    \ingroup LWPR_C    
 */
@@ -140,7 +140,7 @@ int lwpr_write_binary(const LWPR_Model *model, const char *filename);
    \param[in,out] model Pointer to a valid LWPR model structure
    \param[in] filename  Name of the file to read the model from
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
    \ingroup LWPR_C    
 */
@@ -151,7 +151,7 @@ int lwpr_read_binary(LWPR_Model *model, const char *filename);
    \param[in] model    Pointer to a valid LWPR model structure
    \param[in] fp       Descriptor of an already opened file (see stdio.h)
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
    \ingroup LWPR_C    
 */
@@ -161,7 +161,7 @@ int lwpr_write_binary_fp(const LWPR_Model *model, FILE *fp);
    \param[in,out] model Pointer to a valid LWPR model structure
    \param[in] fp        Descriptor of an already opened file (see stdio.h)
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
    \ingroup LWPR_C    
 */
@@ -175,7 +175,7 @@ int lwpr_read_binary_fp(LWPR_Model *model, FILE *fp);
    \param[in] N        Number of columns
    \param[in] data     Pointer to matrix elements
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_write_matrix(FILE *fp,int M, int Ms, int N, const double *data);
@@ -187,7 +187,7 @@ int lwpr_io_write_matrix(FILE *fp,int M, int Ms, int N, const double *data);
    \param[in] N        Number of columns
    \param[out] data    Pointer to matrix elements
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_read_matrix(FILE *fp, int M, int Ms, int N, double *data);
@@ -197,7 +197,7 @@ int lwpr_io_read_matrix(FILE *fp, int M, int Ms, int N, double *data);
    \param[in] N        Number of elements
    \param[in] data     Pointer to vector elements
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_write_vector(FILE *fp, int N, const double *data);
@@ -207,7 +207,7 @@ int lwpr_io_write_vector(FILE *fp, int N, const double *data);
    \param[in] N        Number of elements
    \param[out] data     Pointer to vector elements
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_read_vector(FILE *fp, int N, double *data);
@@ -216,7 +216,7 @@ int lwpr_io_read_vector(FILE *fp, int N, double *data);
    \param[in] fp       File descriptor
    \param[in] data     Scalar value
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_write_scalar(FILE *fp, double data);
@@ -225,7 +225,7 @@ int lwpr_io_write_scalar(FILE *fp, double data);
    \param[in] fp       File descriptor
    \param[out] data    Pointer to scalar value
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_read_scalar(FILE *fp, double *data);
@@ -234,7 +234,7 @@ int lwpr_io_read_scalar(FILE *fp, double *data);
    \param[in] fp       File descriptor
    \param[in] data     Integer value
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_write_int(FILE *fp, int data);
@@ -243,7 +243,7 @@ int lwpr_io_write_int(FILE *fp, int data);
    \param[in] fp      File descriptor
    \param[out] data    Pointer to integer
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_read_int(FILE *fp, int *data);
@@ -252,7 +252,7 @@ int lwpr_io_read_int(FILE *fp, int *data);
    \param[in] fp     File descriptor
    \param[in] RF     Pointer to a receptive field structure
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_write_rf(FILE *fp, const LWPR_ReceptiveField *RF);
@@ -262,7 +262,7 @@ int lwpr_io_write_rf(FILE *fp, const LWPR_ReceptiveField *RF);
    \param[in,out] sub Pointer to the current LWPR_SubModel, to which a new LWPR_ReceptiveField structure
                       will be added.
    \return
-      - 0 if errors have occurred
+      - 0 if errors have occured
       - 1 on success
 */
 int lwpr_io_read_rf(FILE *fp, LWPR_SubModel *sub);
diff --git a/_3rdParty/lwpr/lwpr_xml.h b/_3rdParty/lwpr/lwpr_xml.h
index 57972d8c..2cf1830d 100644
--- a/_3rdParty/lwpr/lwpr_xml.h
+++ b/_3rdParty/lwpr/lwpr_xml.h
@@ -177,7 +177,7 @@ void lwpr_xml_error(LWPR_ParserData *ud, const char *msg);
 
 /** \brief Auxiliary routine to report a "bad dimensionality" parsing error 
    \param[in] ud  Pointer to parser data structure (including LWPR model etc.)
-   \param[in] fieldname    Name of variable where error occurred
+   \param[in] fieldname    Name of variable where error occured
    \param[in] wishM        Number of desired rows, or 1 in case of scalars / vectors
    \param[in] wishN        Number of desired columns, or elements in case of vectors
 */
diff --git a/_3rdParty/matio/matio.h b/_3rdParty/matio/matio.h
index e20fb41b..8b9d76f6 100644
--- a/_3rdParty/matio/matio.h
+++ b/_3rdParty/matio/matio.h
@@ -211,7 +211,7 @@ typedef struct mat_sparse_t {
                                *  data[k].  0 <= k <= nzmax
                                */
     int nir;                 /**< number of elements in ir */
-    int *jc;                 /**< Array size N+1 (N is number of columns) with
+    int *jc;                 /**< Array size N+1 (N is number of columsn) with
                                *  jc[k] being the index into ir/data of the
                                *  first non-zero element for row k.
                                */
diff --git a/_3rdParty/nlopt/DIRect.c b/_3rdParty/nlopt/DIRect.c
index f3ebc9d7..c84a0a72 100644
--- a/_3rdParty/nlopt/DIRect.c
+++ b/_3rdParty/nlopt/DIRect.c
@@ -162,7 +162,7 @@
 /* |            for the function within the hyper-box.                     | */
 /* |                                                                       | */
 /* |    minf -- The value of the function at x.                            | */
-/* |  Ierror -- Error flag. If Ierror is lower 0, an error has occurred. The| */
+/* |  Ierror -- Error flag. If Ierror is lower 0, an error has occured. The| */
 /* |            values of Ierror mean                                      | */
 /* |            Fatal errors :                                             | */
 /* |             -1   u(i) <= l(i) for some i.                             | */
@@ -170,9 +170,9 @@
 /* |             -3   Initialization in DIRpreprc failed.                  | */
 /* |             -4   Error in DIRSamplepoints, that is there was an error | */
 /* |                  in the creation of the sample points.                | */
-/* |             -5   Error in DIRSamplef, that is an error occurred while  | */
+/* |             -5   Error in DIRSamplef, that is an error occured while  | */
 /* |                  the function was sampled.                            | */
-/* |             -6   Error in DIRDoubleInsert, that is an error occurred   | */
+/* |             -6   Error in DIRDoubleInsert, that is an error occured   | */
 /* |                  DIRECT tried to add all hyperrectangles with the same| */
 /* |                  size and function value at the center. Either        | */
 /* |                  increase maxdiv or use our modification (Jones = 1). | */
@@ -355,7 +355,7 @@
 	    algmethod, &MAXFUNC, &MAXDEEP, fglobal, fglper, ierror, &epsfix, &
 		      iepschange, volper, sigmaper);
 /* +-----------------------------------------------------------------------+ */
-/* | If an error has occurred while writing the header (we do some checking | */
+/* | If an error has occured while writing the header (we do some checking | */
 /* | of variables there), return to the main program.                      | */
 /* +-----------------------------------------------------------------------+ */
     if (*ierror < 0) {
@@ -383,7 +383,7 @@
     direct_dirinitlist_(anchor, &ifree, point, f, &MAXFUNC, &MAXDEEP);
 /* +-----------------------------------------------------------------------+ */
 /* | Call the routine to initialise the mapping of x from the n-dimensional| */
-/* | unit cube to the hypercube given by u and l. If an error occurred,     | */
+/* | unit cube to the hypercube given by u and l. If an error occured,     | */
 /* | give out a error message and return to the main program with the error| */
 /* | flag set.                                                             | */
 /* | JG 07/16/01 Changed call to remove unused data.                       | */
@@ -413,12 +413,12 @@
     if (*ierror < 0) {
 	if (*ierror == -4) {
 	    if (logfile)
-		 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplepoints.\n");
+		 fprintf(logfile, "WARNING: Error occured in routine DIRsamplepoints.\n");
 	    goto cleanup;
 	}
 	if (*ierror == -5) {
 	    if (logfile)
-		 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplef..\n");
+		 fprintf(logfile, "WARNING: Error occured in routine DIRsamplef..\n");
 	    goto cleanup;
 	}
 	if (*ierror == -102) goto L100;
@@ -535,7 +535,7 @@
 			MAXDEEP, &oops);
 		if (oops > 0) {
 		    if (logfile)
-			 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplepoints.\n");
+			 fprintf(logfile, "WARNING: Error occured in routine DIRsamplepoints.\n");
 		    *ierror = -4;
 		    goto cleanup;
 		}
@@ -558,7 +558,7 @@
 		}
 		if (oops > 0) {
 		    if (logfile)
-			 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplef.\n");
+			 fprintf(logfile, "WARNING: Error occured in routine DIRsamplef.\n");
 		    *ierror = -5;
 		    goto cleanup;
 		}
diff --git a/_AlgorithmsPlugins/DBSCAN/paramsDBSCAN.ui b/_AlgorithmsPlugins/DBSCAN/paramsDBSCAN.ui
index d45e00b2..7e4bad40 100644
--- a/_AlgorithmsPlugins/DBSCAN/paramsDBSCAN.ui
+++ b/_AlgorithmsPlugins/DBSCAN/paramsDBSCAN.ui
@@ -49,7 +49,7 @@
     </font>
    </property>
    <property name="toolTip">
-    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Metric used for the distance between points. Be careful to also adapt the other parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Metric used for the distance between points. Be carefull to also adapt the other parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
    </property>
    <property name="currentIndex">
     <number>0</number>
diff --git a/_AlgorithmsPlugins/GHSOM/GHSOM/neuronlayer.cpp b/_AlgorithmsPlugins/GHSOM/GHSOM/neuronlayer.cpp
index 2ce5c7a1..6fc71db6 100644
--- a/_AlgorithmsPlugins/GHSOM/GHSOM/neuronlayer.cpp
+++ b/_AlgorithmsPlugins/GHSOM/GHSOM/neuronlayer.cpp
@@ -707,7 +707,7 @@ void NeuronLayer::saveAsSOMLib(){
     //struct tm *now = (struct tm*)malloc(sizeof(struct tm));
     time_t now = time(NULL);
     mapFile.precision(10);
-    mapFile << "#SOM Map Description File\n#created by ghsom " << VERSION << " (Growing Hierarchical Self-Organizing Map)\n#Michael Dittenbach\n#\n";
+    mapFile << "#SOM Map Decription File\n#created by ghsom " << VERSION << " (Growing Hierarchical Self-Organizing Map)\n#Michael Dittenbach\n#\n";
     mapFile << "$TYPE rect\n";
     mapFile << "$XDIM " << x << "\n";
     mapFile << "$YDIM " << y << "\n";
diff --git a/_AlgorithmsPlugins/LLE/interfaceLLEProjection.cpp b/_AlgorithmsPlugins/LLE/interfaceLLEProjection.cpp
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/LLE/interfaceLLEProjection.h b/_AlgorithmsPlugins/LLE/interfaceLLEProjection.h
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/LLE/paramsLLE.ui b/_AlgorithmsPlugins/LLE/paramsLLE.ui
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/LLE/pluginProjections.cpp b/_AlgorithmsPlugins/LLE/pluginProjections.cpp
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/LLE/projectorLLE.cpp b/_AlgorithmsPlugins/LLE/projectorLLE.cpp
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/LLE/projectorLLE.h b/_AlgorithmsPlugins/LLE/projectorLLE.h
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/Projections/basicOpenCV.cpp b/_AlgorithmsPlugins/Projections/basicOpenCV.cpp
index 825c32be..d0d1da86 100644
--- a/_AlgorithmsPlugins/Projections/basicOpenCV.cpp
+++ b/_AlgorithmsPlugins/Projections/basicOpenCV.cpp
@@ -262,7 +262,7 @@ void BasicOpenCV::DisplayHueSatHist(IplImage* src)
     f32 max_value = 0;
 
     cvCvtColor( src, hsv, CV_BGR2HSV );
-    cvSplit( hsv, h_plane, s_plane, v_plane, 0 );
+    cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
     hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );
     cvCalcHist( planes, hist, 0, 0 );
     cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
@@ -270,7 +270,7 @@ void BasicOpenCV::DisplayHueSatHist(IplImage* src)
 
     FOR(h, h_bins){
         FOR(s, s_bins){
-            f32 bin_val = cvGetReal2D( hist, h, s );
+            f32 bin_val = cvQueryHistValue_2D( hist, h, s );
             s32 intensity = cvRound(bin_val*255/max_value);
             cvRectangle( hist_img, cvPoint( h*scale, s*scale ),
                          cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),
diff --git a/_AlgorithmsPlugins/Projections/interfaceLLEProjection.cpp b/_AlgorithmsPlugins/Projections/interfaceLLEProjection.cpp
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/Projections/interfaceLLEProjection.h b/_AlgorithmsPlugins/Projections/interfaceLLEProjection.h
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/Projections/paramsLLE.ui b/_AlgorithmsPlugins/Projections/paramsLLE.ui
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/Projections/projectorLLE.cpp b/_AlgorithmsPlugins/Projections/projectorLLE.cpp
old mode 100644
new mode 100755
diff --git a/_AlgorithmsPlugins/Projections/projectorLLE.h b/_AlgorithmsPlugins/Projections/projectorLLE.h
old mode 100644
new mode 100755
diff --git a/_IOPlugins/ImportTimeseries/parser.cpp b/_IOPlugins/ImportTimeseries/parser.cpp
index e40eb66f..29c28da5 100644
--- a/_IOPlugins/ImportTimeseries/parser.cpp
+++ b/_IOPlugins/ImportTimeseries/parser.cpp
@@ -181,7 +181,7 @@ void CSVParser::cleanData(unsigned int acceptedTypes)
     for(size_t i = 0; i < inputTypes.size() - 1; i++)
         if (!(inputTypes[i]&acceptedTypes)) // data type does not correspond to a requested one
         {
-            std::cout << "Removing column " << i << " of type " << inputTypes[i] <<  " ... ";
+            std::cout << "Removing colum " << i << " of type " << inputTypes[i] <<  " ... ";
             for(size_t j = 0; j < data.size(); j++)
             {
                 it = data.at(j).begin() + i;
diff --git a/_IOPlugins/PCAFaces/basicMath.h b/_IOPlugins/PCAFaces/basicMath.h
index 0e4a60f4..257ea55d 100644
--- a/_IOPlugins/PCAFaces/basicMath.h
+++ b/_IOPlugins/PCAFaces/basicMath.h
@@ -243,6 +243,23 @@ static u32 *randPerm(u32 length, s32 seed=-1)
 	return perm;
 }
 
+
+// matlab code to generate the table
+// erf(x) = (x>0?1:-1) * erftable((int)(min(6,abs(x))*100));
+// 0:0.01:6
+static const float erftable [] = 
+{
+	0.0000000000000000f, 0.0112834155558496f, 0.0225645746918449f, 0.0338412223417354f, 0.0451111061451247f, 0.0563719777970166f, 0.0676215943933084f, 0.0788577197708907f, 0.0900781258410182f, 0.1012805939146269f, 0.1124629160182849f, 0.1236228961994743f, 0.1347583518199201f, 0.1458671148356958f, 0.1569470330628558f, 0.1679959714273635f, 0.1790118131981057f, 0.1899924612018088f, 0.2009358390186958f, 0.2118398921577497f, 0.2227025892104785f, 0.2335219229821036f, 0.2442959115991287f, 0.2550225995922731f, 0.2657000589537920f, 0.2763263901682369f, 0.2868997232157491f, 0.2974182185470128f, 0.3078800680290340f, 0.3182834958609522f, 0.3286267594591273f, 0.3389081503107902f, 0.3491259947955827f, 0.3592786549743590f, 0.3693645293446587f, 0.3793820535623103f, 0.3893297011286642f, 0.3992059840429992f, 0.4090094534196940f, 0.4187387000697961f, 0.4283923550466685f, 0.4379690901554394f, 0.4474676184260253f, 0.4568866945495403f, 0.4662251152779575f, 0.4754817197869237f, 0.4846553900016797f, 0.4937450508860821f, 0.5027496706947650f, 0.5116682611885233f, 0.5204998778130465f, 0.5292436198411704f, 0.5378986304788544f, 0.5464640969351416f, 0.5549392504563904f, 0.5633233663251089f, 0.5716157638237684f, 0.5798158061639961f, 0.5879229003816007f, 0.5959364971979084f, 0.6038560908479259f, 0.6116812188758802f, 0.6194114618987212f, 0.6270464433381957f, 0.6345858291221413f, 0.6420293273556719f, 0.6493766879629542f, 0.6566277023003051f, 0.6637822027413580f, 0.6708400622350779f, 0.6778011938374186f, 0.6846655502174442f, 0.6914331231387512f, 0.6981039429170445f, 0.7046780778547458f, 0.7111556336535152f, 0.7175367528055909f, 0.7238216139648592f, 0.7300104312985789f, 0.7361034538206912f, 0.7421009647076605f, 0.7480032805977895f, 0.7538107508749625f, 0.7595237569377731f, 0.7651427114549946f, 0.7706680576083524f, 0.7761002683235567f, 0.7814398454905507f, 0.7866873191739325f, 0.7918432468144954f, 0.7969082124228322f, 0.8018828257659413f, 0.8067677215477618f, 0.8115635585845578f, 0.8162710189760625f, 0.8208908072732779f, 0.8254236496438183f, 0.8298702930356671f, 0.8342315043402079f, 0.8385080695553697f, 0.8427007929497148f, 0.8468104962282766f, 0.8508380177009420f, 0.8547842114541484f, 0.8586499465266515f, 0.8624361060900967f, 0.8661435866351080f, 0.8697732971635868f, 0.8733261583878896f, 0.8768031019375383f, 0.8802050695740817f, 0.8835330124147180f, 0.8867878901652547f, 0.8899706703629624f, 0.8930823276298567f, 0.8961238429369151f, 0.8990962028797120f, 0.9020003989659357f, 0.9048374269152169f, 0.9076082859716850f, 0.9103139782296355f, 0.9129555079726694f, 0.9155338810266469f, 0.9180501041267614f, 0.9205051842990297f, 0.9229001282564582f, 0.9252359418101295f, 0.9275136292954247f, 0.9297341930135782f, 0.9318986326887336f, 0.9340079449406524f, 0.9360631227731995f, 0.9380651550787114f, 0.9400150261583302f, 0.9419137152583653f, 0.9437621961227241f, 0.9455614365614331f, 0.9473123980352520f, 0.9490160352563626f, 0.9506732958050965f, 0.9522851197626489f, 0.9538524393597054f, 0.9553761786408961f, 0.9568572531449688f, 0.9582965696005648f, 0.9596950256374592f, 0.9610535095131181f, 0.9623728998544057f, 0.9636540654142689f, 0.9648978648432043f, 0.9661051464753108f, 0.9672767481287117f, 0.9684134969201232f, 0.9695162090933357f, 0.9705856898613637f, 0.9716227332620125f, 0.9726281220266002f, 0.9736026274615670f, 0.9745470093426969f, 0.9754620158216676f, 0.9763483833446440f, 0.9772068365826185f, 0.9780380883732035f, 0.9788428396735702f, 0.9796217795242320f, 0.9803755850233603f, 0.9811049213113221f, 0.9818104415651265f, 0.9824927870024649f, 0.9831525868950262f, 0.9837904585907746f, 0.9844070075448683f, 0.9850028273589058f, 0.9855784998281805f, 0.9861345949966329f, 0.9866716712191824f, 0.9871902752311301f, 0.9876909422243223f, 0.9881741959297683f, 0.9886405487064082f, 0.9890905016357308f, 0.9895245446219444f, 0.9899431564974077f, 0.9903468051330306f, 0.9907359475533626f, 0.9911110300560857f, 0.9914724883356396f, 0.9918207476107068f, 0.9921562227552937f, 0.9924793184331480f, 0.9927904292352574f, 0.9930899398201836f, 0.9933782250569847f, 0.9936556501704964f, 0.9939225708887325f, 0.9941793335921891f, 0.9944262754648279f, 0.9946637246465300f, 0.9948920003868136f, 0.9951114131996171f, 0.9953222650189527f, 0.9955248493552482f, 0.9957194514521921f, 0.9959063484439121f, 0.9960858095123195f, 0.9962580960444569f, 0.9964234617896959f, 0.9965821530166383f, 0.9967344086695764f, 0.9968804605243777f, 0.9970205333436670f, 0.9971548450311778f, 0.9972836067851606f, 0.9974070232507333f, 0.9975252926710697f, 0.9976386070373253f, 0.9977471522372077f, 0.9978511082021002f, 0.9979506490526588f, 0.9980459432428015f, 0.9981371537020181f, 0.9982244379759344f, 0.9983079483650648f, 0.9983878320616981f, 0.9984642312848625f, 0.9985372834133188f, 0.9986071211165417f, 0.9986738724836455f, 0.9987376611502190f, 0.9987986064230412f, 0.9988568234026434f, 0.9989124231037001f, 0.9989655125732240f, 0.9990161950065498f, 0.9990645698610920f, 0.9991107329678676f, 0.9991547766407751f, 0.9991967897836264f, 0.9992368579949287f, 0.9992750636704192f, 0.9993114861033550f, 0.9993462015825647f, 0.9993792834882711f, 0.9994108023856942f, 0.9994408261164486f, 0.9994694198877490f, 0.9994966463594419f, 0.9995225657288811f, 0.9995472358136659f, 0.9995707121322661f, 0.9995930479825550f, 0.9996142945182758f, 0.9996345008234653f, 0.9996537139848649f, 0.9996719791623431f, 0.9996893396573607f, 0.9997058369795080f, 0.9997215109111428f, 0.9997363995701628f, 0.9997505394709432f, 0.9997639655834707f, 0.9997767113907082f, 0.9997888089442237f, 0.9998002889181156f, 0.9998111806612684f, 0.9998215122479760f, 0.9998313105269614f, 0.9998406011688324f, 0.9998494087120056f, 0.9998577566071316f, 0.9998656672600594f, 0.9998731620733716f, 0.9998802614865254f, 0.9998869850146334f, 0.9998933512859194f, 0.9998993780778804f, 0.9999050823521898f, 0.9999104802883753f, 0.9999155873163016f, 0.9999204181474947f, 0.9999249868053346f, 0.9999293066541523f, 0.9999333904272598f, 0.9999372502539452f, 0.9999408976854610f, 0.9999443437200386f, 0.9999475988269556f, 0.9999506729696857f, 0.9999535756281590f, 0.9999563158201617f, 0.9999589021219005f, 0.9999613426877595f, 0.9999636452692755f, 0.9999658172333573f, 0.9999678655797740f, 0.9999697969579359f, 0.9999716176829931f, 0.9999733337512747f, 0.9999749508550908f, 0.9999764743969193f, 0.9999779095030015f, 0.9999792610363629f, 0.9999805336092855f, 0.9999817315952467f, 0.9999828591403461f, 0.9999839201742398f, 0.9999849184206001f, 0.9999858574071167f, 0.9999867404750594f, 0.9999875707884177f, 0.9999883513426329f, 0.9999890849729398f, 0.9999897743623336f, 0.9999904220491747f, 0.9999910304344468f, 0.9999916017886847f, 0.9999921382585810f, 0.9999926418732865f, 0.9999931145504183f, 0.9999935581017863f, 0.9999939742388482f, 0.9999943645779092f, 0.9999947306450711f, 0.9999950738809456f, 0.9999953956451422f, 0.9999956972205364f, 0.9999959798173321f, 0.9999962445769250f, 0.9999964925755764f, 0.9999967248279045f, 0.9999969422902035f, 0.9999971458635975f, 0.9999973363970345f, 0.9999975146901312f, 0.9999976814958739f, 0.9999978375231799f, 0.9999979834393308f, 0.9999981198722784f, 0.9999982474128331f, 0.9999983666167385f, 0.9999984780066371f, 0.9999985820739346f, 0.9999986792805644f, 0.9999987700606605f, 0.9999988548221410f, 0.9999989339482065f, 0.9999990077987595f, 0.9999990767117464f, 0.9999991410044279f, 0.9999992009745795f, 0.9999992569016276f, 0.9999993090477226f, 0.9999993576587528f, 0.9999994029653040f, 0.9999994451835634f, 0.9999994845161754f, 0.9999995211530479f, 0.9999995552721144f, 0.9999995870400529f, 0.9999996166129631f, 0.9999996441370069f, 0.9999996697490110f, 0.9999996935770344f, 0.9999997157409060f, 0.9999997363527273f, 0.9999997555173494f, 0.9999997733328196f, 0.9999997898908039f, 0.9999998052769828f, 0.9999998195714259f, 0.9999998328489421f, 0.9999998451794108f, 0.9999998566280922f, 0.9999998672559198f, 0.9999998771197746f, 0.9999998862727435f, 0.9999998947643614f, 0.9999999026408388f, 0.9999999099452765f, 0.9999999167178646f, 0.9999999229960725f, 0.9999999288148247f, 0.9999999342066670f, 0.9999999392019217f, 0.9999999438288334f, 0.9999999481137065f, 0.9999999520810322f, 0.9999999557536089f, 0.9999999591526549f, 0.9999999622979134f, 0.9999999652077514f, 0.9999999678992515f, 0.9999999703882987f, 0.9999999726896611f, 0.9999999748170654f, 0.9999999767832677f, 0.9999999786001196f, 0.9999999802786297f, 0.9999999818290218f, 0.9999999832607887f, 0.9999999845827421f, 0.9999999858030606f, 0.9999999869293328f, 0.9999999879685986f, 0.9999999889273877f, 0.9999999898117551f, 0.9999999906273142f, 0.9999999913792682f, 0.9999999920724392f, 0.9999999927112944f, 0.9999999932999724f, 0.9999999938423057f, 0.9999999943418427f, 0.9999999948018690f, 0.9999999952254246f, 0.9999999956153229f, 0.9999999959741669f, 0.9999999963043638f, 0.9999999966081397f, 0.9999999968875528f, 0.9999999971445058f, 0.9999999973807567f, 0.9999999975979301f, 0.9999999977975265f, 0.9999999979809319f, 0.9999999981494259f, 0.9999999983041898f, 0.9999999984463144f, 0.9999999985768053f, 0.9999999986965913f, 0.9999999988065282f, 0.9999999989074059f, 0.9999999989999523f, 0.9999999990848385f, 0.9999999991626829f, 0.9999999992340556f, 0.9999999992994814f, 0.9999999993594437f, 0.9999999994143880f, 0.9999999994647240f, 0.9999999995108290f, 0.9999999995530502f, 0.9999999995917070f, 0.9999999996270934f, 0.9999999996594795f, 0.9999999996891137f, 0.9999999997162244f, 0.9999999997410216f, 0.9999999997636982f, 0.9999999997844314f, 0.9999999998033839f, 0.9999999998207052f, 0.9999999998365327f, 0.9999999998509920f, 0.9999999998641989f, 0.9999999998762595f, 0.9999999998872711f, 0.9999999998973228f, 0.9999999999064966f, 0.9999999999148674f, 0.9999999999225040f, 0.9999999999294694f, 0.9999999999358213f, 0.9999999999416126f, 0.9999999999468917f, 0.9999999999517030f, 0.9999999999560869f, 0.9999999999600808f, 0.9999999999637186f, 0.9999999999670313f, 0.9999999999700474f, 0.9999999999727929f, 0.9999999999752915f, 0.9999999999775653f, 0.9999999999796336f, 0.9999999999815150f, 0.9999999999832258f, 0.9999999999847813f, 0.9999999999861953f, 0.9999999999874802f, 0.9999999999886479f, 0.9999999999897087f, 0.9999999999906721f, 0.9999999999915470f, 0.9999999999923415f, 0.9999999999930624f, 0.9999999999937168f, 0.9999999999943107f, 0.9999999999948495f, 0.9999999999953380f, 0.9999999999957810f, 0.9999999999961828f, 0.9999999999965470f, 0.9999999999968769f, 0.9999999999971760f, 0.9999999999974469f, 0.9999999999976923f, 0.9999999999979145f, 0.9999999999981156f, 0.9999999999982978f, 0.9999999999984626f, 0.9999999999986117f, 0.9999999999987466f, 0.9999999999988686f, 0.9999999999989789f, 0.9999999999990787f, 0.9999999999991689f, 0.9999999999992504f, 0.9999999999993240f, 0.9999999999993905f, 0.9999999999994507f, 0.9999999999995048f, 0.9999999999995539f, 0.9999999999995981f, 0.9999999999996381f, 0.9999999999996740f, 0.9999999999997065f, 0.9999999999997358f, 0.9999999999997622f, 0.9999999999997861f, 0.9999999999998075f, 0.9999999999998268f, 0.9999999999998444f, 0.9999999999998600f, 0.9999999999998741f, 0.9999999999998870f, 0.9999999999998983f, 0.9999999999999087f, 0.9999999999999181f, 0.9999999999999263f, 0.9999999999999338f, 0.9999999999999407f, 0.9999999999999467f, 0.9999999999999523f, 0.9999999999999572f, 0.9999999999999616f, 0.9999999999999655f, 0.9999999999999691f, 0.9999999999999722f, 0.9999999999999751f, 0.9999999999999778f, 0.9999999999999800f, 0.9999999999999821f, 0.9999999999999840f, 0.9999999999999857f, 0.9999999999999871f, 0.9999999999999885f, 0.9999999999999898f, 0.9999999999999908f, 0.9999999999999918f, 0.9999999999999927f, 0.9999999999999933f, 0.9999999999999941f, 0.9999999999999947f, 0.9999999999999953f, 0.9999999999999958f, 0.9999999999999962f, 0.9999999999999967f, 0.9999999999999970f, 0.9999999999999973f, 0.9999999999999976f, 0.9999999999999979f, 0.9999999999999981f, 0.9999999999999983f, 0.9999999999999985f, 0.9999999999999987f, 0.9999999999999988f, 0.9999999999999989f, 0.9999999999999991f, 0.9999999999999991f, 0.9999999999999992f, 0.9999999999999993f, 0.9999999999999993f, 0.9999999999999994f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999997f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f
+};
+/*!
+	Gaussian Error Function
+*/
+static float erf(const float x)
+{
+	if(x>0) return erftable[(int)(min(6.f,x)*100)];
+	return -erftable[(int)(min(6.f,-x)*100)];
+}
+
 enum distEnum {DIST_EUCLIDEAN, DIST_MANHATTAN, DIST_INFINITE} ;
 
 inline float Distance(float *a, float *b, u32 dim, distEnum metric)
diff --git a/_IOPlugins/PCAFaces/basicOpenCV.cpp b/_IOPlugins/PCAFaces/basicOpenCV.cpp
index ab576ee9..4785dbdf 100644
--- a/_IOPlugins/PCAFaces/basicOpenCV.cpp
+++ b/_IOPlugins/PCAFaces/basicOpenCV.cpp
@@ -263,7 +263,7 @@ void BasicOpenCV::DisplayHueSatHist(IplImage* src)
     f32 max_value = 0;
 
     cvCvtColor( src, hsv, CV_BGR2HSV );
-    cvSplit( hsv, h_plane, s_plane, v_plane, 0 );
+    cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
     hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );
     cvCalcHist( planes, hist, 0, 0 );
     cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
@@ -271,7 +271,7 @@ void BasicOpenCV::DisplayHueSatHist(IplImage* src)
 
     FOR(h, h_bins){
         FOR(s, s_bins){
-            f32 bin_val = cvGetReal2D( hist, h, s );
+            f32 bin_val = cvQueryHistValue_2D( hist, h, s );
             s32 intensity = cvRound(bin_val*255/max_value);
             cvRectangle( hist_img, cvPoint( h*scale, s*scale ),
                          cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),
diff --git a/_IOPlugins/WebImport/parser.cpp b/_IOPlugins/WebImport/parser.cpp
index 0f6c4505..417c58a2 100644
--- a/_IOPlugins/WebImport/parser.cpp
+++ b/_IOPlugins/WebImport/parser.cpp
@@ -267,7 +267,7 @@ void CSVParser::cleanData(unsigned int acceptedTypes)
         if (!(dataTypes[i]&acceptedTypes) &&  // data type does not correspond to a requested one
            (i != outputLabelColumn))       // output labels are stored separately, ignore
         {
-            cout << "Removing column " << i << " of type " << dataTypes[i] <<  " ... ";
+            cout << "Removing colum " << i << " of type " << dataTypes[i] <<  " ... ";
             for(size_t j = 0; j < data.size(); j++)
             {
                 /* @note it seems that if we have --i instead of (i-1), the compiler produces bad code (SIGSEGV) */
diff --git a/debian/.gitignore b/debian/.gitignore
deleted file mode 100644
index 6ff09552..00000000
--- a/debian/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/*.debhelper
-/*.log
-/*.substvars
-/debhelper-build-stamp
-/files
-/mldemos/
diff --git a/debian/changelog b/debian/changelog
index 28736cf6..650c5d38 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mldemos (0.5.1+git.1.ee5d11f-4) unstable; urgency=medium
+
+  * build dependency on regular OpenGL, not OpenGL ES
+  * bump policy
+
+ -- Barak A. Pearlmutter <bap@debian.org>  Sat, 14 Apr 2018 17:15:43 +0100
+
 mldemos (0.5.1+git.1.ee5d11f-3) unstable; urgency=medium
 
   * fix for OpenGL ES platforms---I'm looking at you ARM---which doesnt'
diff --git a/debian/control b/debian/control
index a3194921..c743cf0d 100644
--- a/debian/control
+++ b/debian/control
@@ -5,8 +5,10 @@ Maintainer: Barak A. Pearlmutter <bap@debian.org>
 Build-Depends: debhelper (>= 11),
 	       libopencv-dev,
 	       libboost-dev,
-	       qtbase5-dev, qttools5-dev, libqt5opengl5-dev, libqt5svg5-dev
-Standards-Version: 4.1.3
+	       qtbase5-dev, qttools5-dev,
+	       libqt5opengl5-desktop-dev,
+	       libqt5svg5-dev
+Standards-Version: 4.1.4
 Homepage: http://mldemos.epfl.ch
 Vcs-Git: https://salsa.debian.org/debian/mldemos.git
 Vcs-Browser: https://salsa.debian.org/debian/mldemos
diff --git a/debian/patches/debian-changes b/debian/patches/debian-changes
new file mode 100644
index 00000000..da56a1c6
--- /dev/null
+++ b/debian/patches/debian-changes
@@ -0,0 +1,879 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ mldemos (0.5.1+git.1.ee5d11f-4) unstable; urgency=medium
+ .
+   * build dependency on regular OpenGL, not OpenGL ES
+   * bump policy
+Author: Barak A. Pearlmutter <bap@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2018-04-14
+
+--- mldemos-0.5.1+git.1.ee5d11f.orig/Core/basicMath.h
++++ mldemos-0.5.1+git.1.ee5d11f/Core/basicMath.h
+@@ -125,23 +125,6 @@ static u32 *randPerm(u32 length, s32 see
+     return perm;
+ }
+ 
+-
+-// matlab code to generate the table
+-// erf(x) = (x>0?1:-1) * erftable((int)(min(6.f,abs(x))*100));
+-// 0:0.01:6
+-static const float erftable [] = 
+-{
+-    0.0000000000000000f, 0.0112834155558496f, 0.0225645746918449f, 0.0338412223417354f, 0.0451111061451247f, 0.0563719777970166f, 0.0676215943933084f, 0.0788577197708907f, 0.0900781258410182f, 0.1012805939146269f, 0.1124629160182849f, 0.1236228961994743f, 0.1347583518199201f, 0.1458671148356958f, 0.1569470330628558f, 0.1679959714273635f, 0.1790118131981057f, 0.1899924612018088f, 0.2009358390186958f, 0.2118398921577497f, 0.2227025892104785f, 0.2335219229821036f, 0.2442959115991287f, 0.2550225995922731f, 0.2657000589537920f, 0.2763263901682369f, 0.2868997232157491f, 0.2974182185470128f, 0.3078800680290340f, 0.3182834958609522f, 0.3286267594591273f, 0.3389081503107902f, 0.3491259947955827f, 0.3592786549743590f, 0.3693645293446587f, 0.3793820535623103f, 0.3893297011286642f, 0.3992059840429992f, 0.4090094534196940f, 0.4187387000697961f, 0.4283923550466685f, 0.4379690901554394f, 0.4474676184260253f, 0.4568866945495403f, 0.4662251152779575f, 0.4754817197869237f, 0.4846553900016797f, 0.4937450508860821f, 0.5027496706947650f, 0.5116682611885233f, 0.5204998778130465f, 0.5292436198411704f, 0.5378986304788544f, 0.5464640969351416f, 0.5549392504563904f, 0.5633233663251089f, 0.5716157638237684f, 0.5798158061639961f, 0.5879229003816007f, 0.5959364971979084f, 0.6038560908479259f, 0.6116812188758802f, 0.6194114618987212f, 0.6270464433381957f, 0.6345858291221413f, 0.6420293273556719f, 0.6493766879629542f, 0.6566277023003051f, 0.6637822027413580f, 0.6708400622350779f, 0.6778011938374186f, 0.6846655502174442f, 0.6914331231387512f, 0.6981039429170445f, 0.7046780778547458f, 0.7111556336535152f, 0.7175367528055909f, 0.7238216139648592f, 0.7300104312985789f, 0.7361034538206912f, 0.7421009647076605f, 0.7480032805977895f, 0.7538107508749625f, 0.7595237569377731f, 0.7651427114549946f, 0.7706680576083524f, 0.7761002683235567f, 0.7814398454905507f, 0.7866873191739325f, 0.7918432468144954f, 0.7969082124228322f, 0.8018828257659413f, 0.8067677215477618f, 0.8115635585845578f, 0.8162710189760625f, 0.8208908072732779f, 0.8254236496438183f, 0.8298702930356671f, 0.8342315043402079f, 0.8385080695553697f, 0.8427007929497148f, 0.8468104962282766f, 0.8508380177009420f, 0.8547842114541484f, 0.8586499465266515f, 0.8624361060900967f, 0.8661435866351080f, 0.8697732971635868f, 0.8733261583878896f, 0.8768031019375383f, 0.8802050695740817f, 0.8835330124147180f, 0.8867878901652547f, 0.8899706703629624f, 0.8930823276298567f, 0.8961238429369151f, 0.8990962028797120f, 0.9020003989659357f, 0.9048374269152169f, 0.9076082859716850f, 0.9103139782296355f, 0.9129555079726694f, 0.9155338810266469f, 0.9180501041267614f, 0.9205051842990297f, 0.9229001282564582f, 0.9252359418101295f, 0.9275136292954247f, 0.9297341930135782f, 0.9318986326887336f, 0.9340079449406524f, 0.9360631227731995f, 0.9380651550787114f, 0.9400150261583302f, 0.9419137152583653f, 0.9437621961227241f, 0.9455614365614331f, 0.9473123980352520f, 0.9490160352563626f, 0.9506732958050965f, 0.9522851197626489f, 0.9538524393597054f, 0.9553761786408961f, 0.9568572531449688f, 0.9582965696005648f, 0.9596950256374592f, 0.9610535095131181f, 0.9623728998544057f, 0.9636540654142689f, 0.9648978648432043f, 0.9661051464753108f, 0.9672767481287117f, 0.9684134969201232f, 0.9695162090933357f, 0.9705856898613637f, 0.9716227332620125f, 0.9726281220266002f, 0.9736026274615670f, 0.9745470093426969f, 0.9754620158216676f, 0.9763483833446440f, 0.9772068365826185f, 0.9780380883732035f, 0.9788428396735702f, 0.9796217795242320f, 0.9803755850233603f, 0.9811049213113221f, 0.9818104415651265f, 0.9824927870024649f, 0.9831525868950262f, 0.9837904585907746f, 0.9844070075448683f, 0.9850028273589058f, 0.9855784998281805f, 0.9861345949966329f, 0.9866716712191824f, 0.9871902752311301f, 0.9876909422243223f, 0.9881741959297683f, 0.9886405487064082f, 0.9890905016357308f, 0.9895245446219444f, 0.9899431564974077f, 0.9903468051330306f, 0.9907359475533626f, 0.9911110300560857f, 0.9914724883356396f, 0.9918207476107068f, 0.9921562227552937f, 0.9924793184331480f, 0.9927904292352574f, 0.9930899398201836f, 0.9933782250569847f, 0.9936556501704964f, 0.9939225708887325f, 0.9941793335921891f, 0.9944262754648279f, 0.9946637246465300f, 0.9948920003868136f, 0.9951114131996171f, 0.9953222650189527f, 0.9955248493552482f, 0.9957194514521921f, 0.9959063484439121f, 0.9960858095123195f, 0.9962580960444569f, 0.9964234617896959f, 0.9965821530166383f, 0.9967344086695764f, 0.9968804605243777f, 0.9970205333436670f, 0.9971548450311778f, 0.9972836067851606f, 0.9974070232507333f, 0.9975252926710697f, 0.9976386070373253f, 0.9977471522372077f, 0.9978511082021002f, 0.9979506490526588f, 0.9980459432428015f, 0.9981371537020181f, 0.9982244379759344f, 0.9983079483650648f, 0.9983878320616981f, 0.9984642312848625f, 0.9985372834133188f, 0.9986071211165417f, 0.9986738724836455f, 0.9987376611502190f, 0.9987986064230412f, 0.9988568234026434f, 0.9989124231037001f, 0.9989655125732240f, 0.9990161950065498f, 0.9990645698610920f, 0.9991107329678676f, 0.9991547766407751f, 0.9991967897836264f, 0.9992368579949287f, 0.9992750636704192f, 0.9993114861033550f, 0.9993462015825647f, 0.9993792834882711f, 0.9994108023856942f, 0.9994408261164486f, 0.9994694198877490f, 0.9994966463594419f, 0.9995225657288811f, 0.9995472358136659f, 0.9995707121322661f, 0.9995930479825550f, 0.9996142945182758f, 0.9996345008234653f, 0.9996537139848649f, 0.9996719791623431f, 0.9996893396573607f, 0.9997058369795080f, 0.9997215109111428f, 0.9997363995701628f, 0.9997505394709432f, 0.9997639655834707f, 0.9997767113907082f, 0.9997888089442237f, 0.9998002889181156f, 0.9998111806612684f, 0.9998215122479760f, 0.9998313105269614f, 0.9998406011688324f, 0.9998494087120056f, 0.9998577566071316f, 0.9998656672600594f, 0.9998731620733716f, 0.9998802614865254f, 0.9998869850146334f, 0.9998933512859194f, 0.9998993780778804f, 0.9999050823521898f, 0.9999104802883753f, 0.9999155873163016f, 0.9999204181474947f, 0.9999249868053346f, 0.9999293066541523f, 0.9999333904272598f, 0.9999372502539452f, 0.9999408976854610f, 0.9999443437200386f, 0.9999475988269556f, 0.9999506729696857f, 0.9999535756281590f, 0.9999563158201617f, 0.9999589021219005f, 0.9999613426877595f, 0.9999636452692755f, 0.9999658172333573f, 0.9999678655797740f, 0.9999697969579359f, 0.9999716176829931f, 0.9999733337512747f, 0.9999749508550908f, 0.9999764743969193f, 0.9999779095030015f, 0.9999792610363629f, 0.9999805336092855f, 0.9999817315952467f, 0.9999828591403461f, 0.9999839201742398f, 0.9999849184206001f, 0.9999858574071167f, 0.9999867404750594f, 0.9999875707884177f, 0.9999883513426329f, 0.9999890849729398f, 0.9999897743623336f, 0.9999904220491747f, 0.9999910304344468f, 0.9999916017886847f, 0.9999921382585810f, 0.9999926418732865f, 0.9999931145504183f, 0.9999935581017863f, 0.9999939742388482f, 0.9999943645779092f, 0.9999947306450711f, 0.9999950738809456f, 0.9999953956451422f, 0.9999956972205364f, 0.9999959798173321f, 0.9999962445769250f, 0.9999964925755764f, 0.9999967248279045f, 0.9999969422902035f, 0.9999971458635975f, 0.9999973363970345f, 0.9999975146901312f, 0.9999976814958739f, 0.9999978375231799f, 0.9999979834393308f, 0.9999981198722784f, 0.9999982474128331f, 0.9999983666167385f, 0.9999984780066371f, 0.9999985820739346f, 0.9999986792805644f, 0.9999987700606605f, 0.9999988548221410f, 0.9999989339482065f, 0.9999990077987595f, 0.9999990767117464f, 0.9999991410044279f, 0.9999992009745795f, 0.9999992569016276f, 0.9999993090477226f, 0.9999993576587528f, 0.9999994029653040f, 0.9999994451835634f, 0.9999994845161754f, 0.9999995211530479f, 0.9999995552721144f, 0.9999995870400529f, 0.9999996166129631f, 0.9999996441370069f, 0.9999996697490110f, 0.9999996935770344f, 0.9999997157409060f, 0.9999997363527273f, 0.9999997555173494f, 0.9999997733328196f, 0.9999997898908039f, 0.9999998052769828f, 0.9999998195714259f, 0.9999998328489421f, 0.9999998451794108f, 0.9999998566280922f, 0.9999998672559198f, 0.9999998771197746f, 0.9999998862727435f, 0.9999998947643614f, 0.9999999026408388f, 0.9999999099452765f, 0.9999999167178646f, 0.9999999229960725f, 0.9999999288148247f, 0.9999999342066670f, 0.9999999392019217f, 0.9999999438288334f, 0.9999999481137065f, 0.9999999520810322f, 0.9999999557536089f, 0.9999999591526549f, 0.9999999622979134f, 0.9999999652077514f, 0.9999999678992515f, 0.9999999703882987f, 0.9999999726896611f, 0.9999999748170654f, 0.9999999767832677f, 0.9999999786001196f, 0.9999999802786297f, 0.9999999818290218f, 0.9999999832607887f, 0.9999999845827421f, 0.9999999858030606f, 0.9999999869293328f, 0.9999999879685986f, 0.9999999889273877f, 0.9999999898117551f, 0.9999999906273142f, 0.9999999913792682f, 0.9999999920724392f, 0.9999999927112944f, 0.9999999932999724f, 0.9999999938423057f, 0.9999999943418427f, 0.9999999948018690f, 0.9999999952254246f, 0.9999999956153229f, 0.9999999959741669f, 0.9999999963043638f, 0.9999999966081397f, 0.9999999968875528f, 0.9999999971445058f, 0.9999999973807567f, 0.9999999975979301f, 0.9999999977975265f, 0.9999999979809319f, 0.9999999981494259f, 0.9999999983041898f, 0.9999999984463144f, 0.9999999985768053f, 0.9999999986965913f, 0.9999999988065282f, 0.9999999989074059f, 0.9999999989999523f, 0.9999999990848385f, 0.9999999991626829f, 0.9999999992340556f, 0.9999999992994814f, 0.9999999993594437f, 0.9999999994143880f, 0.9999999994647240f, 0.9999999995108290f, 0.9999999995530502f, 0.9999999995917070f, 0.9999999996270934f, 0.9999999996594795f, 0.9999999996891137f, 0.9999999997162244f, 0.9999999997410216f, 0.9999999997636982f, 0.9999999997844314f, 0.9999999998033839f, 0.9999999998207052f, 0.9999999998365327f, 0.9999999998509920f, 0.9999999998641989f, 0.9999999998762595f, 0.9999999998872711f, 0.9999999998973228f, 0.9999999999064966f, 0.9999999999148674f, 0.9999999999225040f, 0.9999999999294694f, 0.9999999999358213f, 0.9999999999416126f, 0.9999999999468917f, 0.9999999999517030f, 0.9999999999560869f, 0.9999999999600808f, 0.9999999999637186f, 0.9999999999670313f, 0.9999999999700474f, 0.9999999999727929f, 0.9999999999752915f, 0.9999999999775653f, 0.9999999999796336f, 0.9999999999815150f, 0.9999999999832258f, 0.9999999999847813f, 0.9999999999861953f, 0.9999999999874802f, 0.9999999999886479f, 0.9999999999897087f, 0.9999999999906721f, 0.9999999999915470f, 0.9999999999923415f, 0.9999999999930624f, 0.9999999999937168f, 0.9999999999943107f, 0.9999999999948495f, 0.9999999999953380f, 0.9999999999957810f, 0.9999999999961828f, 0.9999999999965470f, 0.9999999999968769f, 0.9999999999971760f, 0.9999999999974469f, 0.9999999999976923f, 0.9999999999979145f, 0.9999999999981156f, 0.9999999999982978f, 0.9999999999984626f, 0.9999999999986117f, 0.9999999999987466f, 0.9999999999988686f, 0.9999999999989789f, 0.9999999999990787f, 0.9999999999991689f, 0.9999999999992504f, 0.9999999999993240f, 0.9999999999993905f, 0.9999999999994507f, 0.9999999999995048f, 0.9999999999995539f, 0.9999999999995981f, 0.9999999999996381f, 0.9999999999996740f, 0.9999999999997065f, 0.9999999999997358f, 0.9999999999997622f, 0.9999999999997861f, 0.9999999999998075f, 0.9999999999998268f, 0.9999999999998444f, 0.9999999999998600f, 0.9999999999998741f, 0.9999999999998870f, 0.9999999999998983f, 0.9999999999999087f, 0.9999999999999181f, 0.9999999999999263f, 0.9999999999999338f, 0.9999999999999407f, 0.9999999999999467f, 0.9999999999999523f, 0.9999999999999572f, 0.9999999999999616f, 0.9999999999999655f, 0.9999999999999691f, 0.9999999999999722f, 0.9999999999999751f, 0.9999999999999778f, 0.9999999999999800f, 0.9999999999999821f, 0.9999999999999840f, 0.9999999999999857f, 0.9999999999999871f, 0.9999999999999885f, 0.9999999999999898f, 0.9999999999999908f, 0.9999999999999918f, 0.9999999999999927f, 0.9999999999999933f, 0.9999999999999941f, 0.9999999999999947f, 0.9999999999999953f, 0.9999999999999958f, 0.9999999999999962f, 0.9999999999999967f, 0.9999999999999970f, 0.9999999999999973f, 0.9999999999999976f, 0.9999999999999979f, 0.9999999999999981f, 0.9999999999999983f, 0.9999999999999985f, 0.9999999999999987f, 0.9999999999999988f, 0.9999999999999989f, 0.9999999999999991f, 0.9999999999999991f, 0.9999999999999992f, 0.9999999999999993f, 0.9999999999999993f, 0.9999999999999994f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999997f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f
+-};
+-/*!
+- Gaussian Error Function
+-*/
+-static float erf(const float x)
+-{
+-    if(x>0) return erftable[(int)(min(6.f,x)*100)];
+-    return -erftable[(int)(min(6.f,-x)*100)];
+-}
+-
+ enum distEnum {DIST_EUCLIDEAN, DIST_MANHATTAN, DIST_INFINITE} ;
+ 
+ inline float Distance(float *a, float *b, u32 dim, distEnum metric)
+--- mldemos-0.5.1+git.1.ee5d11f.orig/Core/canvas.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/Core/canvas.cpp
+@@ -838,7 +838,7 @@ void Canvas::DrawAxes(QPainter &painter)
+             for(float y = (int)(bounding.y()/mult)*mult; y < bounding.y() + bounding.height(); y += mult) cnt++;
+         }
+         if(!cnt) mult = minGridWidth/(float)w;
+-        if(w/cnt < minGridWidth) mult *= (float)minGridWidth*cnt/w;
++        if(cnt && w/cnt < minGridWidth) mult *= (float)minGridWidth*cnt/w;
+         for(float y = (int)(bounding.y()/mult)*mult; y < bounding.y() + bounding.height(); y += mult)
+         {
+             float canvasY = toCanvasCoords(0,y).y();
+--- mldemos-0.5.1+git.1.ee5d11f.orig/Core/glUtils.h
++++ mldemos-0.5.1+git.1.ee5d11f/Core/glUtils.h
+@@ -42,6 +42,12 @@
+ #endif
+ 
+ 
++#ifdef QT_OPENGL_ES_2
++// OpenGL ES does not have glColor3f, instead...
++#define glColor3f(a,b,c) glColor4f((a),(b),(c),1.0f)
++#endif
++
++
+ struct GLObject
+ {
+     QVector<QVector3D> vertices;
+--- mldemos-0.5.1+git.1.ee5d11f.orig/Core/glwidget.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/Core/glwidget.cpp
+@@ -628,6 +628,32 @@ void GLWidget::DrawSamples(const GLObjec
+     program->release();
+ }
+ 
++
++#include <qglobal.h>
++
++// typedef QT_COORD_TYPE qreal;
++
++// NOTE: qreal might be a float or a double, need to account for that
++// in the call below to glMultMatrixf vs glMultMatrixd.
++
++// This would be one possibility, but the untaken branch would anger the compiler:
++
++//    if (sizeof(qreal) == sizeof(float))
++//      glMultMatrix(o.model.constData());
++//    else
++//      glMultMatrixd(o.model.constData());
++
++// Instead, we make an overloaded procedure which dispatches correctly.
++inline void glMultMatrix(const GLfloat  *m) 
++{
++  glMultMatrixf(m);
++}
++
++inline void glMultMatrix(const GLdouble *m) 
++{
++  glMultMatrixd(m);
++}
++
+ void GLWidget::DrawLines(const GLObject &o) const
+ {
+     glPushAttrib(GL_ALL_ATTRIB_BITS);
+@@ -683,20 +709,7 @@ void GLWidget::DrawLines(const GLObject
+ 
+     glPushMatrix();
+ 
+-#include <qglobal.h>
+-    // qreal might be a float, need to account for that here.
+-    // No choice but to use the logic in Qt/qglobal.h
+-#if defined(QT_COORD_TYPE)
+-    // typedef QT_COORD_TYPE qreal;
+-    // (which we'll just assume is a double)
+-    glMultMatrixd(o.model.constData());
+-#elif defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE) || defined(QT_ARCH_SYMBIAN)
+-    // typedef float qreal;
+-    glMultMatrixf(o.model.constData());
+-#else
+-    // typedef double qreal;
+-    glMultMatrixf(o.model.constData());
+-#endif
++    glMultMatrix(o.model.constData());
+ 
+     if(o.objectType.contains("linestrip") || o.objectType.contains("trajectories")) glBegin(GL_LINE_STRIP);
+     else glBegin(GL_LINES);
+--- mldemos-0.5.1+git.1.ee5d11f.orig/Core/glwidget.h
++++ mldemos-0.5.1+git.1.ee5d11f/Core/glwidget.h
+@@ -115,9 +115,9 @@ public:
+ 
+     static const GLint texWidth = 128;
+     static const GLint texHeight = 128;
+-    static const float texHalfWidth = 64.0f;
+-    static const float texHalfHeight = 64.0f;
+-    static const float texRadius = texWidth*0.9;
++    const float texHalfWidth = 64.0f;
++    const float texHalfHeight = 64.0f;
++    const float texRadius = texWidth*0.9;
+     static const int textureCount = 2; // 0: samples, 1: wide circle
+     static GLuint *textureNames;
+     static unsigned char **textureData;
+--- mldemos-0.5.1+git.1.ee5d11f.orig/Core/parser.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/Core/parser.cpp
+@@ -327,7 +327,7 @@ void CSVParser::cleanData(unsigned int a
+         if (!(dataTypes[i]&acceptedTypes) &&  // data type does not correspond to a requested one
+            (i != outputLabelColumn))       // output labels are stored separately, ignore
+         {
+-            cout << "Removing colum " << i << " of type " << dataTypes[i] <<  " ... ";
++            cout << "Removing column " << i << " of type " << dataTypes[i] <<  " ... ";
+             for(size_t j = 0; j < data.size(); j++)
+             {
+                 /* @note it seems that if we have --i instead of (i-1), the compiler produces bad code (SIGSEGV) */
+--- mldemos-0.5.1+git.1.ee5d11f.orig/MLDemos/visualization.ui
++++ mldemos-0.5.1+git.1.ee5d11f/MLDemos/visualization.ui
+@@ -122,7 +122,7 @@
+            </item>
+            <item>
+             <property name="text">
+-             <string>Distrubution: Density</string>
++             <string>Distribution: Density</string>
+             </property>
+            </item>
+           </widget>
+--- mldemos-0.5.1+git.1.ee5d11f.orig/MLDemos_full.pro
++++ mldemos-0.5.1+git.1.ee5d11f/MLDemos_full.pro
+@@ -9,19 +9,20 @@ greaterThan(QT_MAJOR_VERSION, 4) {
+ 
+ TEMPLATE = subdirs
+ # the main software
+-CONFIG += ordered
++CONFIG += ordered c++11
+ 
+ # Core components
+ SUBDIRS = Core 3rdParty MLDemos UnitTesting
+ #SUBDIRS += MLScripting
+ 
+ # Algorithm plugins
+-SUBDIRS += Obstacle GMM Kernel GP KNN Projections LWPR Maximizers Reinforcements OpenCV SEDS FLAME DBSCAN Lowess CCA ASVM GHSOM RandomKernel MetricLearning Projections
++SUBDIRS += Obstacle GMM Kernel GP KNN Projections LWPR Maximizers Reinforcements SEDS FLAME DBSCAN Lowess CCA ASVM GHSOM RandomKernel MetricLearning
++# OpenCV
+ #SUBDIRS += MLR QTMeans # Experimental
+ #SUBDIRS += Example
+ 
+ # Input plugins
+-SUBDIRS += PCAFaces
++#SUBDIRS += PCAFaces
+ #SUBDIRS += ImportTimeseries CSVImport RandomEmitter WebImport
+ 
+ 
+@@ -56,7 +57,7 @@ CCA.file = $$ALGOPATH/CCA/pluginCCA.pro
+ GHSOM.file = $$ALGOPATH/GHSOM/pluginGHSOM.pro
+ RandomKernel.file = $$ALGOPATH/RandomKernel/pluginRandomKernel.pro
+ MetricLearning.file = $$ALGOPATH/MetricLearning/pluginMetricLearning.pro
+-OpenCV.file = $$ALGOPATH/OpenCV/pluginOpenCV.pro
++#OpenCV.file = $$ALGOPATH/OpenCV/pluginOpenCV.pro
+ MLR.file = $$ALGOPATH/MLR/pluginMLR.pro
+ QTMeans.file = $$ALGOPATH/QTMeans/pluginQTMeans.pro
+ 
+@@ -65,7 +66,7 @@ Example.file = $$ALGOPATH/Example/plugin
+ 
+ # Input plugins project files
+ INPUTPATH = _IOPlugins
+-PCAFaces.file = $$INPUTPATH/PCAFaces/pluginPCAFaces.pro
++#PCAFaces.file = $$INPUTPATH/PCAFaces/pluginPCAFaces.pro
+ RandomEmitter.file = $$INPUTPATH/RandomEmitter/pluginRandomEmitter.pro
+ WebImport.file = $$INPUTPATH/WebImport/pluginWebImport.pro
+ CSVImport.file = $$INPUTPATH/CSVImport/pluginCSVImport.pro
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/3rdParty.pro
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/3rdParty.pro
+@@ -3,7 +3,7 @@
+ ###########################
+ TEMPLATE = lib
+ NAME = 3rdParty
+-MLPATH = ..
++MLPATH = $$OUT_PWD/..
+ CONFIG += mainApp static _3rdParty
+ 
+ include($$MLPATH/MLDemos_variables.pri)
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/JnS/JnS.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/JnS/JnS.cpp
+@@ -126,7 +126,7 @@ void Transform (double *X, double *Trans
+       Xstart = t * n ;
+       Xstop  = Xstart + n ;
+ 
+-      /* stores in Tx the t-th colum of X transformed by Trans */
++      /* stores in Tx the t-th column of X transformed by Trans */
+       for (i=0; i<n ; i++) {
+ 	sum = 0.0 ;
+ 	for (s=i, Xind=Xstart; Xind<Xstop; s+=n, Xind++)
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/LAMP_HMM/hmmFind.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/LAMP_HMM/hmmFind.cpp
+@@ -117,7 +117,7 @@ int main (int argc, char *argv[])
+     
+     if (readHMMFile){
+         hmmFile.open(hmmInputName);
+-        if(hmmFile==NULL){
++        if(!hmmFile.is_open()){
+             cerr << "HMM file not found. Exiting..."<<endl;
+             exit(-1);
+         }
+@@ -218,7 +218,7 @@ int main (int argc, char *argv[])
+     
+             CObsSeq *obsSeq;
+             ifstream sequenceFile(sequenceName);
+-            assert(sequenceFile != NULL);
++            assert(sequenceFile.is_open());
+     //	obsSeq = learnedHMM->ReadSequences(sequenceFile);
+             obsSeq = new CObsSeq(obsType, sequenceFile);
+             sequenceFile.close();
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/dlib/base64/base64_kernel_1.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/dlib/base64/base64_kernel_1.cpp
+@@ -190,20 +190,20 @@ namespace dlib
+                     case CR:
+                         ch = '\r';
+                         if (out.sputn(&ch,1)!=1)
+-                            throw std::ios_base::failure("error occured in the base64 object");
++                            throw std::ios_base::failure("error occurred in the base64 object");
+                         break;
+                     case LF:
+                         ch = '\n';
+                         if (out.sputn(&ch,1)!=1)
+-                            throw std::ios_base::failure("error occured in the base64 object");
++                            throw std::ios_base::failure("error occurred in the base64 object");
+                         break;
+                     case CRLF:
+                         ch = '\r';
+                         if (out.sputn(&ch,1)!=1)
+-                            throw std::ios_base::failure("error occured in the base64 object");
++                            throw std::ios_base::failure("error occurred in the base64 object");
+                         ch = '\n';
+                         if (out.sputn(&ch,1)!=1)
+-                            throw std::ios_base::failure("error occured in the base64 object");
++                            throw std::ios_base::failure("error occurred in the base64 object");
+                         break;
+                     default:
+                         DLIB_CASSERT(false,"this should never happen");
+@@ -235,7 +235,7 @@ namespace dlib
+                 // write the encoded bytes to the output stream
+                 if (out.sputn(reinterpret_cast<char*>(&outbuf),4)!=4)
+                 {
+-                    throw std::ios_base::failure("error occured in the base64 object");
++                    throw std::ios_base::failure("error occurred in the base64 object");
+                 }
+ 
+                 // get 3 more input bytes
+@@ -265,7 +265,7 @@ namespace dlib
+                 // write the encoded bytes to the output stream
+                 if (out.sputn(reinterpret_cast<char*>(&outbuf),4)!=4)
+                 {
+-                    throw std::ios_base::failure("error occured in the base64 object");
++                    throw std::ios_base::failure("error occurred in the base64 object");
+                 }
+ 
+ 
+@@ -292,7 +292,7 @@ namespace dlib
+                 // write the encoded bytes to the output stream
+                 if (out.sputn(reinterpret_cast<char*>(&outbuf),4)!=4)
+                 {
+-                    throw std::ios_base::failure("error occured in the base64 object");
++                    throw std::ios_base::failure("error occurred in the base64 object");
+                 }
+ 
+                 break;
+@@ -370,7 +370,7 @@ namespace dlib
+                 // write the encoded bytes to the output stream
+                 if (out.sputn(reinterpret_cast<char*>(&outbuf),outsize)!=outsize)
+                 {
+-                    throw std::ios_base::failure("error occured in the base64 object");
++                    throw std::ios_base::failure("error occurred in the base64 object");
+                 }
+             }
+ 
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/dlib/bit_stream/bit_stream_kernel_1.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/dlib/bit_stream/bit_stream_kernel_1.cpp
+@@ -121,7 +121,7 @@ namespace dlib
+             buffer <<= 8 - buffer_size;
+             if (osp->rdbuf()->sputn(reinterpret_cast<char*>(&buffer),1) == 0)
+             {
+-                throw std::ios_base::failure("error occured in the bit_stream object");
++                throw std::ios_base::failure("error occurred in the bit_stream object");
+             }
+ 
+             buffer_size = 0;
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_1.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_1.cpp
+@@ -127,7 +127,7 @@ namespace dlib
+                 {
+                     if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+                     {
+-                        throw std::ios_base::failure("error occured in the entropy_encoder object");
++                        throw std::ios_base::failure("error occurred in the entropy_encoder object");
+                     }
+                     buf = 0;
+                     buf_used = 0;
+@@ -189,26 +189,26 @@ namespace dlib
+         }
+ 
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1) == 0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+ 
+         buf = static_cast<unsigned char>((low >> 24)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1) == 0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+ 
+ 
+         buf = static_cast<unsigned char>((low >> 16)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+ 
+         buf = static_cast<unsigned char>((low >> 8)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+ 
+@@ -216,7 +216,7 @@ namespace dlib
+         {
+             buf = static_cast<unsigned char>((low)&0xFF);
+             if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+-                throw std::ios_base::failure("error occured in the entropy_encoder object");
++                throw std::ios_base::failure("error occurred in the entropy_encoder object");
+         }
+     
+ 
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_2.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/dlib/entropy_encoder/entropy_encoder_kernel_2.cpp
+@@ -170,7 +170,7 @@ namespace dlib
+                 // write buf to the output stream
+                 if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+                 {
+-                    throw std::ios_base::failure("error occured in the entropy_encoder object");
++                    throw std::ios_base::failure("error occurred in the entropy_encoder object");
+                 }                   
+                 
+             } 
+@@ -194,25 +194,25 @@ namespace dlib
+ 
+         buf = static_cast<unsigned char>((low >> 24)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1) == 0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+ 
+ 
+         buf = static_cast<unsigned char>((low >> 16)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+ 
+         buf = static_cast<unsigned char>((low >> 8)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+ 
+ 
+         buf = static_cast<unsigned char>((low)&0xFF);
+         if (streambuf->sputn(reinterpret_cast<char*>(&buf),1)==0)
+-            throw std::ios_base::failure("error occured in the entropy_encoder object");
++            throw std::ios_base::failure("error occurred in the entropy_encoder object");
+         
+     
+ 
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/dlib/svm/rvm.h
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/dlib/svm/rvm.h
+@@ -247,7 +247,7 @@ namespace dlib
+                     - alpha(active_bases(i)) == the alpha value associated with sample x(i)
+                     - weights(active_bases(i)) == the weight value associated with sample x(i)
+                     - colm(phi, active_bases(i)) == the column of phi associated with sample x(i)
+-                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_colum()) 
++                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_column()) 
+                 - else
+                     - the i'th sample isn't in the model and notionally has an alpha of infinity and
+                       a weight of 0.
+@@ -262,7 +262,7 @@ namespace dlib
+             // set the initial values of these guys
+             set_all_elements(active_bases, -1);
+             long first_basis = pick_initial_vector(x,t);
+-            get_kernel_colum(first_basis, x, K_col);
++            get_kernel_column(first_basis, x, K_col);
+             active_bases(first_basis) = 0;
+             set_colm(phi,0) = K_col;
+             alpha(0) = compute_initial_alpha(phi, t);
+@@ -384,7 +384,7 @@ namespace dlib
+                     if (active_bases(i) != -1)
+                         K_col = colm(phi,active_bases(i));
+                     else
+-                        get_kernel_colum(i, x, K_col);
++                        get_kernel_column(i, x, K_col);
+ 
+                     // tempv2 = trans(phi_m)*B
+                     tempv2 = scale_columns(trans(K_col), beta);  
+@@ -476,7 +476,7 @@ namespace dlib
+                         // update phi by adding the new sample's kernel matrix column in as one of phi's columns
+                         tempm.set_size(phi.nr(), phi.nc()+1);
+                         set_subm(tempm, get_rect(phi)) = phi;
+-                        get_kernel_colum(selected_idx, x, K_col);
++                        get_kernel_column(selected_idx, x, K_col);
+                         set_colm(tempm, phi.nc()) = K_col;
+                         tempm.swap(phi);
+ 
+@@ -523,7 +523,7 @@ namespace dlib
+             // find the row in the kernel matrix that has the biggest normalized projection onto the t vector
+             for (long r = 0; r < x.nr(); ++r)
+             {
+-                get_kernel_colum(r,x,K_col);
++                get_kernel_column(r,x,K_col);
+                 double temp = trans(K_col)*t;
+                 temp = temp*temp/length_squared(K_col);
+ 
+@@ -540,7 +540,7 @@ namespace dlib
+     // ------------------------------------------------------------------------------------
+ 
+         template <typename T>
+-        void get_kernel_colum (
++        void get_kernel_column (
+             long idx,
+             const T& x,
+             scalar_vector_type& col
+@@ -708,7 +708,7 @@ namespace dlib
+                     - alpha(active_bases(i)) == the alpha value associated with sample x(i)
+                     - weights(active_bases(i)) == the weight value associated with sample x(i)
+                     - colm(phi, active_bases(i)) == the column of phi associated with sample x(i)
+-                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_colum()) 
++                    - colm(phi, active_bases(i)) == kernel column i (from get_kernel_column()) 
+                 - else
+                     - the i'th sample isn't in the model and notionally has an alpha of infinity and
+                       a weight of 0.
+@@ -724,7 +724,7 @@ namespace dlib
+             // set the initial values of these guys
+             set_all_elements(active_bases, -1);
+             long first_basis = pick_initial_vector(x,t);
+-            get_kernel_colum(first_basis, x, K_col);
++            get_kernel_column(first_basis, x, K_col);
+             active_bases(first_basis) = 0;
+             set_colm(phi,0) = K_col;
+             alpha(0) = compute_initial_alpha(phi, t, var);
+@@ -793,7 +793,7 @@ namespace dlib
+                     if (active_bases(i) != -1)
+                         K_col = colm(phi,active_bases(i));
+                     else
+-                        get_kernel_colum(i, x, K_col);
++                        get_kernel_column(i, x, K_col);
+ 
+                     // tempv2 = trans(phi_m)*B
+                     tempv2 = trans(K_col)/var;  
+@@ -882,7 +882,7 @@ namespace dlib
+                         // update phi by adding the new sample's kernel matrix column in as one of phi's columns
+                         tempm.set_size(phi.nr(), phi.nc()+1);
+                         set_subm(tempm, get_rect(phi)) = phi;
+-                        get_kernel_colum(selected_idx, x, K_col);
++                        get_kernel_column(selected_idx, x, K_col);
+                         set_colm(tempm, phi.nc()) = K_col;
+                         tempm.swap(phi);
+ 
+@@ -916,7 +916,7 @@ namespace dlib
+     // ------------------------------------------------------------------------------------
+ 
+         template <typename T>
+-        void get_kernel_colum (
++        void get_kernel_column (
+             long idx,
+             const T& x,
+             scalar_vector_type& col
+@@ -958,7 +958,7 @@ namespace dlib
+             // find the row in the kernel matrix that has the biggest normalized projection onto the t vector
+             for (long r = 0; r < x.nr(); ++r)
+             {
+-                get_kernel_colum(r,x,K_col);
++                get_kernel_column(r,x,K_col);
+                 double temp = trans(K_col)*t;
+                 temp = temp*temp/length_squared(K_col);
+ 
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/lwpr/lwpr.hh
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/lwpr/lwpr.hh
+@@ -56,7 +56,7 @@ class LWPR_Exception {
+       BAD_OUTPUT_DIM,   /**< \brief Thrown when an argument should have matched the output dimension of the LWPR model, but did not */
+       BAD_INIT_D,       /**< \brief Thrown when the desired initial distance metric is not positive definite */
+       UNKNOWN_KERNEL,   /**< \brief Thrown when the name of an unknown kernel function has been passed */
+-      IO_ERROR,         /**< \brief Thrown when errors occured during reading from or writing to files */
++      IO_ERROR,         /**< \brief Thrown when errors occurred during reading from or writing to files */
+       OUT_OF_RANGE,     /**< \brief Thrown when an out-of-range index was passed */
+       UNSPECIFIED_ERROR /**< \brief Thrown in any other error case (should not happen) */
+    } Code;
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/lwpr/lwpr_binio.h
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/lwpr/lwpr_binio.h
+@@ -129,7 +129,7 @@ extern "C" {
+    \param[in] model    Pointer to a valid LWPR model structure
+    \param[in] filename The name of the file
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+    \ingroup LWPR_C    
+ */
+@@ -140,7 +140,7 @@ int lwpr_write_binary(const LWPR_Model *
+    \param[in,out] model Pointer to a valid LWPR model structure
+    \param[in] filename  Name of the file to read the model from
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+    \ingroup LWPR_C    
+ */
+@@ -151,7 +151,7 @@ int lwpr_read_binary(LWPR_Model *model,
+    \param[in] model    Pointer to a valid LWPR model structure
+    \param[in] fp       Descriptor of an already opened file (see stdio.h)
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+    \ingroup LWPR_C    
+ */
+@@ -161,7 +161,7 @@ int lwpr_write_binary_fp(const LWPR_Mode
+    \param[in,out] model Pointer to a valid LWPR model structure
+    \param[in] fp        Descriptor of an already opened file (see stdio.h)
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+    \ingroup LWPR_C    
+ */
+@@ -175,7 +175,7 @@ int lwpr_read_binary_fp(LWPR_Model *mode
+    \param[in] N        Number of columns
+    \param[in] data     Pointer to matrix elements
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_write_matrix(FILE *fp,int M, int Ms, int N, const double *data);
+@@ -187,7 +187,7 @@ int lwpr_io_write_matrix(FILE *fp,int M,
+    \param[in] N        Number of columns
+    \param[out] data    Pointer to matrix elements
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_read_matrix(FILE *fp, int M, int Ms, int N, double *data);
+@@ -197,7 +197,7 @@ int lwpr_io_read_matrix(FILE *fp, int M,
+    \param[in] N        Number of elements
+    \param[in] data     Pointer to vector elements
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_write_vector(FILE *fp, int N, const double *data);
+@@ -207,7 +207,7 @@ int lwpr_io_write_vector(FILE *fp, int N
+    \param[in] N        Number of elements
+    \param[out] data     Pointer to vector elements
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_read_vector(FILE *fp, int N, double *data);
+@@ -216,7 +216,7 @@ int lwpr_io_read_vector(FILE *fp, int N,
+    \param[in] fp       File descriptor
+    \param[in] data     Scalar value
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_write_scalar(FILE *fp, double data);
+@@ -225,7 +225,7 @@ int lwpr_io_write_scalar(FILE *fp, doubl
+    \param[in] fp       File descriptor
+    \param[out] data    Pointer to scalar value
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_read_scalar(FILE *fp, double *data);
+@@ -234,7 +234,7 @@ int lwpr_io_read_scalar(FILE *fp, double
+    \param[in] fp       File descriptor
+    \param[in] data     Integer value
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_write_int(FILE *fp, int data);
+@@ -243,7 +243,7 @@ int lwpr_io_write_int(FILE *fp, int data
+    \param[in] fp      File descriptor
+    \param[out] data    Pointer to integer
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_read_int(FILE *fp, int *data);
+@@ -252,7 +252,7 @@ int lwpr_io_read_int(FILE *fp, int *data
+    \param[in] fp     File descriptor
+    \param[in] RF     Pointer to a receptive field structure
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_write_rf(FILE *fp, const LWPR_ReceptiveField *RF);
+@@ -262,7 +262,7 @@ int lwpr_io_write_rf(FILE *fp, const LWP
+    \param[in,out] sub Pointer to the current LWPR_SubModel, to which a new LWPR_ReceptiveField structure
+                       will be added.
+    \return
+-      - 0 if errors have occured
++      - 0 if errors have occurred
+       - 1 on success
+ */
+ int lwpr_io_read_rf(FILE *fp, LWPR_SubModel *sub);
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/lwpr/lwpr_xml.h
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/lwpr/lwpr_xml.h
+@@ -177,7 +177,7 @@ void lwpr_xml_error(LWPR_ParserData *ud,
+ 
+ /** \brief Auxiliary routine to report a "bad dimensionality" parsing error 
+    \param[in] ud  Pointer to parser data structure (including LWPR model etc.)
+-   \param[in] fieldname    Name of variable where error occured
++   \param[in] fieldname    Name of variable where error occurred
+    \param[in] wishM        Number of desired rows, or 1 in case of scalars / vectors
+    \param[in] wishN        Number of desired columns, or elements in case of vectors
+ */
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/matio/matio.h
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/matio/matio.h
+@@ -211,7 +211,7 @@ typedef struct mat_sparse_t {
+                                *  data[k].  0 <= k <= nzmax
+                                */
+     int nir;                 /**< number of elements in ir */
+-    int *jc;                 /**< Array size N+1 (N is number of columsn) with
++    int *jc;                 /**< Array size N+1 (N is number of columns) with
+                                *  jc[k] being the index into ir/data of the
+                                *  first non-zero element for row k.
+                                */
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_3rdParty/nlopt/DIRect.c
++++ mldemos-0.5.1+git.1.ee5d11f/_3rdParty/nlopt/DIRect.c
+@@ -162,7 +162,7 @@
+ /* |            for the function within the hyper-box.                     | */
+ /* |                                                                       | */
+ /* |    minf -- The value of the function at x.                            | */
+-/* |  Ierror -- Error flag. If Ierror is lower 0, an error has occured. The| */
++/* |  Ierror -- Error flag. If Ierror is lower 0, an error has occurred. The| */
+ /* |            values of Ierror mean                                      | */
+ /* |            Fatal errors :                                             | */
+ /* |             -1   u(i) <= l(i) for some i.                             | */
+@@ -170,9 +170,9 @@
+ /* |             -3   Initialization in DIRpreprc failed.                  | */
+ /* |             -4   Error in DIRSamplepoints, that is there was an error | */
+ /* |                  in the creation of the sample points.                | */
+-/* |             -5   Error in DIRSamplef, that is an error occured while  | */
++/* |             -5   Error in DIRSamplef, that is an error occurred while  | */
+ /* |                  the function was sampled.                            | */
+-/* |             -6   Error in DIRDoubleInsert, that is an error occured   | */
++/* |             -6   Error in DIRDoubleInsert, that is an error occurred   | */
+ /* |                  DIRECT tried to add all hyperrectangles with the same| */
+ /* |                  size and function value at the center. Either        | */
+ /* |                  increase maxdiv or use our modification (Jones = 1). | */
+@@ -355,7 +355,7 @@
+ 	    algmethod, &MAXFUNC, &MAXDEEP, fglobal, fglper, ierror, &epsfix, &
+ 		      iepschange, volper, sigmaper);
+ /* +-----------------------------------------------------------------------+ */
+-/* | If an error has occured while writing the header (we do some checking | */
++/* | If an error has occurred while writing the header (we do some checking | */
+ /* | of variables there), return to the main program.                      | */
+ /* +-----------------------------------------------------------------------+ */
+     if (*ierror < 0) {
+@@ -383,7 +383,7 @@
+     direct_dirinitlist_(anchor, &ifree, point, f, &MAXFUNC, &MAXDEEP);
+ /* +-----------------------------------------------------------------------+ */
+ /* | Call the routine to initialise the mapping of x from the n-dimensional| */
+-/* | unit cube to the hypercube given by u and l. If an error occured,     | */
++/* | unit cube to the hypercube given by u and l. If an error occurred,     | */
+ /* | give out a error message and return to the main program with the error| */
+ /* | flag set.                                                             | */
+ /* | JG 07/16/01 Changed call to remove unused data.                       | */
+@@ -413,12 +413,12 @@
+     if (*ierror < 0) {
+ 	if (*ierror == -4) {
+ 	    if (logfile)
+-		 fprintf(logfile, "WARNING: Error occured in routine DIRsamplepoints.\n");
++		 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplepoints.\n");
+ 	    goto cleanup;
+ 	}
+ 	if (*ierror == -5) {
+ 	    if (logfile)
+-		 fprintf(logfile, "WARNING: Error occured in routine DIRsamplef..\n");
++		 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplef..\n");
+ 	    goto cleanup;
+ 	}
+ 	if (*ierror == -102) goto L100;
+@@ -535,7 +535,7 @@
+ 			MAXDEEP, &oops);
+ 		if (oops > 0) {
+ 		    if (logfile)
+-			 fprintf(logfile, "WARNING: Error occured in routine DIRsamplepoints.\n");
++			 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplepoints.\n");
+ 		    *ierror = -4;
+ 		    goto cleanup;
+ 		}
+@@ -558,7 +558,7 @@
+ 		}
+ 		if (oops > 0) {
+ 		    if (logfile)
+-			 fprintf(logfile, "WARNING: Error occured in routine DIRsamplef.\n");
++			 fprintf(logfile, "WARNING: Error occurred in routine DIRsamplef.\n");
+ 		    *ierror = -5;
+ 		    goto cleanup;
+ 		}
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_AlgorithmsPlugins/DBSCAN/paramsDBSCAN.ui
++++ mldemos-0.5.1+git.1.ee5d11f/_AlgorithmsPlugins/DBSCAN/paramsDBSCAN.ui
+@@ -49,7 +49,7 @@
+     </font>
+    </property>
+    <property name="toolTip">
+-    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Metric used for the distance between points. Be carefull to also adapt the other parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
++    <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Metric used for the distance between points. Be careful to also adapt the other parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+    </property>
+    <property name="currentIndex">
+     <number>0</number>
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_AlgorithmsPlugins/GHSOM/GHSOM/neuronlayer.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_AlgorithmsPlugins/GHSOM/GHSOM/neuronlayer.cpp
+@@ -707,7 +707,7 @@ void NeuronLayer::saveAsSOMLib(){
+     //struct tm *now = (struct tm*)malloc(sizeof(struct tm));
+     time_t now = time(NULL);
+     mapFile.precision(10);
+-    mapFile << "#SOM Map Decription File\n#created by ghsom " << VERSION << " (Growing Hierarchical Self-Organizing Map)\n#Michael Dittenbach\n#\n";
++    mapFile << "#SOM Map Description File\n#created by ghsom " << VERSION << " (Growing Hierarchical Self-Organizing Map)\n#Michael Dittenbach\n#\n";
+     mapFile << "$TYPE rect\n";
+     mapFile << "$XDIM " << x << "\n";
+     mapFile << "$YDIM " << y << "\n";
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_AlgorithmsPlugins/Projections/basicOpenCV.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_AlgorithmsPlugins/Projections/basicOpenCV.cpp
+@@ -262,7 +262,7 @@ void BasicOpenCV::DisplayHueSatHist(IplI
+     f32 max_value = 0;
+ 
+     cvCvtColor( src, hsv, CV_BGR2HSV );
+-    cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
++    cvSplit( hsv, h_plane, s_plane, v_plane, 0 );
+     hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );
+     cvCalcHist( planes, hist, 0, 0 );
+     cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
+@@ -270,7 +270,7 @@ void BasicOpenCV::DisplayHueSatHist(IplI
+ 
+     FOR(h, h_bins){
+         FOR(s, s_bins){
+-            f32 bin_val = cvQueryHistValue_2D( hist, h, s );
++            f32 bin_val = cvGetReal2D( hist, h, s );
+             s32 intensity = cvRound(bin_val*255/max_value);
+             cvRectangle( hist_img, cvPoint( h*scale, s*scale ),
+                          cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_IOPlugins/ImportTimeseries/parser.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_IOPlugins/ImportTimeseries/parser.cpp
+@@ -181,7 +181,7 @@ void CSVParser::cleanData(unsigned int a
+     for(size_t i = 0; i < inputTypes.size() - 1; i++)
+         if (!(inputTypes[i]&acceptedTypes)) // data type does not correspond to a requested one
+         {
+-            std::cout << "Removing colum " << i << " of type " << inputTypes[i] <<  " ... ";
++            std::cout << "Removing column " << i << " of type " << inputTypes[i] <<  " ... ";
+             for(size_t j = 0; j < data.size(); j++)
+             {
+                 it = data.at(j).begin() + i;
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_IOPlugins/PCAFaces/basicMath.h
++++ mldemos-0.5.1+git.1.ee5d11f/_IOPlugins/PCAFaces/basicMath.h
+@@ -243,23 +243,6 @@ static u32 *randPerm(u32 length, s32 see
+ 	return perm;
+ }
+ 
+-
+-// matlab code to generate the table
+-// erf(x) = (x>0?1:-1) * erftable((int)(min(6,abs(x))*100));
+-// 0:0.01:6
+-static const float erftable [] = 
+-{
+-	0.0000000000000000f, 0.0112834155558496f, 0.0225645746918449f, 0.0338412223417354f, 0.0451111061451247f, 0.0563719777970166f, 0.0676215943933084f, 0.0788577197708907f, 0.0900781258410182f, 0.1012805939146269f, 0.1124629160182849f, 0.1236228961994743f, 0.1347583518199201f, 0.1458671148356958f, 0.1569470330628558f, 0.1679959714273635f, 0.1790118131981057f, 0.1899924612018088f, 0.2009358390186958f, 0.2118398921577497f, 0.2227025892104785f, 0.2335219229821036f, 0.2442959115991287f, 0.2550225995922731f, 0.2657000589537920f, 0.2763263901682369f, 0.2868997232157491f, 0.2974182185470128f, 0.3078800680290340f, 0.3182834958609522f, 0.3286267594591273f, 0.3389081503107902f, 0.3491259947955827f, 0.3592786549743590f, 0.3693645293446587f, 0.3793820535623103f, 0.3893297011286642f, 0.3992059840429992f, 0.4090094534196940f, 0.4187387000697961f, 0.4283923550466685f, 0.4379690901554394f, 0.4474676184260253f, 0.4568866945495403f, 0.4662251152779575f, 0.4754817197869237f, 0.4846553900016797f, 0.4937450508860821f, 0.5027496706947650f, 0.5116682611885233f, 0.5204998778130465f, 0.5292436198411704f, 0.5378986304788544f, 0.5464640969351416f, 0.5549392504563904f, 0.5633233663251089f, 0.5716157638237684f, 0.5798158061639961f, 0.5879229003816007f, 0.5959364971979084f, 0.6038560908479259f, 0.6116812188758802f, 0.6194114618987212f, 0.6270464433381957f, 0.6345858291221413f, 0.6420293273556719f, 0.6493766879629542f, 0.6566277023003051f, 0.6637822027413580f, 0.6708400622350779f, 0.6778011938374186f, 0.6846655502174442f, 0.6914331231387512f, 0.6981039429170445f, 0.7046780778547458f, 0.7111556336535152f, 0.7175367528055909f, 0.7238216139648592f, 0.7300104312985789f, 0.7361034538206912f, 0.7421009647076605f, 0.7480032805977895f, 0.7538107508749625f, 0.7595237569377731f, 0.7651427114549946f, 0.7706680576083524f, 0.7761002683235567f, 0.7814398454905507f, 0.7866873191739325f, 0.7918432468144954f, 0.7969082124228322f, 0.8018828257659413f, 0.8067677215477618f, 0.8115635585845578f, 0.8162710189760625f, 0.8208908072732779f, 0.8254236496438183f, 0.8298702930356671f, 0.8342315043402079f, 0.8385080695553697f, 0.8427007929497148f, 0.8468104962282766f, 0.8508380177009420f, 0.8547842114541484f, 0.8586499465266515f, 0.8624361060900967f, 0.8661435866351080f, 0.8697732971635868f, 0.8733261583878896f, 0.8768031019375383f, 0.8802050695740817f, 0.8835330124147180f, 0.8867878901652547f, 0.8899706703629624f, 0.8930823276298567f, 0.8961238429369151f, 0.8990962028797120f, 0.9020003989659357f, 0.9048374269152169f, 0.9076082859716850f, 0.9103139782296355f, 0.9129555079726694f, 0.9155338810266469f, 0.9180501041267614f, 0.9205051842990297f, 0.9229001282564582f, 0.9252359418101295f, 0.9275136292954247f, 0.9297341930135782f, 0.9318986326887336f, 0.9340079449406524f, 0.9360631227731995f, 0.9380651550787114f, 0.9400150261583302f, 0.9419137152583653f, 0.9437621961227241f, 0.9455614365614331f, 0.9473123980352520f, 0.9490160352563626f, 0.9506732958050965f, 0.9522851197626489f, 0.9538524393597054f, 0.9553761786408961f, 0.9568572531449688f, 0.9582965696005648f, 0.9596950256374592f, 0.9610535095131181f, 0.9623728998544057f, 0.9636540654142689f, 0.9648978648432043f, 0.9661051464753108f, 0.9672767481287117f, 0.9684134969201232f, 0.9695162090933357f, 0.9705856898613637f, 0.9716227332620125f, 0.9726281220266002f, 0.9736026274615670f, 0.9745470093426969f, 0.9754620158216676f, 0.9763483833446440f, 0.9772068365826185f, 0.9780380883732035f, 0.9788428396735702f, 0.9796217795242320f, 0.9803755850233603f, 0.9811049213113221f, 0.9818104415651265f, 0.9824927870024649f, 0.9831525868950262f, 0.9837904585907746f, 0.9844070075448683f, 0.9850028273589058f, 0.9855784998281805f, 0.9861345949966329f, 0.9866716712191824f, 0.9871902752311301f, 0.9876909422243223f, 0.9881741959297683f, 0.9886405487064082f, 0.9890905016357308f, 0.9895245446219444f, 0.9899431564974077f, 0.9903468051330306f, 0.9907359475533626f, 0.9911110300560857f, 0.9914724883356396f, 0.9918207476107068f, 0.9921562227552937f, 0.9924793184331480f, 0.9927904292352574f, 0.9930899398201836f, 0.9933782250569847f, 0.9936556501704964f, 0.9939225708887325f, 0.9941793335921891f, 0.9944262754648279f, 0.9946637246465300f, 0.9948920003868136f, 0.9951114131996171f, 0.9953222650189527f, 0.9955248493552482f, 0.9957194514521921f, 0.9959063484439121f, 0.9960858095123195f, 0.9962580960444569f, 0.9964234617896959f, 0.9965821530166383f, 0.9967344086695764f, 0.9968804605243777f, 0.9970205333436670f, 0.9971548450311778f, 0.9972836067851606f, 0.9974070232507333f, 0.9975252926710697f, 0.9976386070373253f, 0.9977471522372077f, 0.9978511082021002f, 0.9979506490526588f, 0.9980459432428015f, 0.9981371537020181f, 0.9982244379759344f, 0.9983079483650648f, 0.9983878320616981f, 0.9984642312848625f, 0.9985372834133188f, 0.9986071211165417f, 0.9986738724836455f, 0.9987376611502190f, 0.9987986064230412f, 0.9988568234026434f, 0.9989124231037001f, 0.9989655125732240f, 0.9990161950065498f, 0.9990645698610920f, 0.9991107329678676f, 0.9991547766407751f, 0.9991967897836264f, 0.9992368579949287f, 0.9992750636704192f, 0.9993114861033550f, 0.9993462015825647f, 0.9993792834882711f, 0.9994108023856942f, 0.9994408261164486f, 0.9994694198877490f, 0.9994966463594419f, 0.9995225657288811f, 0.9995472358136659f, 0.9995707121322661f, 0.9995930479825550f, 0.9996142945182758f, 0.9996345008234653f, 0.9996537139848649f, 0.9996719791623431f, 0.9996893396573607f, 0.9997058369795080f, 0.9997215109111428f, 0.9997363995701628f, 0.9997505394709432f, 0.9997639655834707f, 0.9997767113907082f, 0.9997888089442237f, 0.9998002889181156f, 0.9998111806612684f, 0.9998215122479760f, 0.9998313105269614f, 0.9998406011688324f, 0.9998494087120056f, 0.9998577566071316f, 0.9998656672600594f, 0.9998731620733716f, 0.9998802614865254f, 0.9998869850146334f, 0.9998933512859194f, 0.9998993780778804f, 0.9999050823521898f, 0.9999104802883753f, 0.9999155873163016f, 0.9999204181474947f, 0.9999249868053346f, 0.9999293066541523f, 0.9999333904272598f, 0.9999372502539452f, 0.9999408976854610f, 0.9999443437200386f, 0.9999475988269556f, 0.9999506729696857f, 0.9999535756281590f, 0.9999563158201617f, 0.9999589021219005f, 0.9999613426877595f, 0.9999636452692755f, 0.9999658172333573f, 0.9999678655797740f, 0.9999697969579359f, 0.9999716176829931f, 0.9999733337512747f, 0.9999749508550908f, 0.9999764743969193f, 0.9999779095030015f, 0.9999792610363629f, 0.9999805336092855f, 0.9999817315952467f, 0.9999828591403461f, 0.9999839201742398f, 0.9999849184206001f, 0.9999858574071167f, 0.9999867404750594f, 0.9999875707884177f, 0.9999883513426329f, 0.9999890849729398f, 0.9999897743623336f, 0.9999904220491747f, 0.9999910304344468f, 0.9999916017886847f, 0.9999921382585810f, 0.9999926418732865f, 0.9999931145504183f, 0.9999935581017863f, 0.9999939742388482f, 0.9999943645779092f, 0.9999947306450711f, 0.9999950738809456f, 0.9999953956451422f, 0.9999956972205364f, 0.9999959798173321f, 0.9999962445769250f, 0.9999964925755764f, 0.9999967248279045f, 0.9999969422902035f, 0.9999971458635975f, 0.9999973363970345f, 0.9999975146901312f, 0.9999976814958739f, 0.9999978375231799f, 0.9999979834393308f, 0.9999981198722784f, 0.9999982474128331f, 0.9999983666167385f, 0.9999984780066371f, 0.9999985820739346f, 0.9999986792805644f, 0.9999987700606605f, 0.9999988548221410f, 0.9999989339482065f, 0.9999990077987595f, 0.9999990767117464f, 0.9999991410044279f, 0.9999992009745795f, 0.9999992569016276f, 0.9999993090477226f, 0.9999993576587528f, 0.9999994029653040f, 0.9999994451835634f, 0.9999994845161754f, 0.9999995211530479f, 0.9999995552721144f, 0.9999995870400529f, 0.9999996166129631f, 0.9999996441370069f, 0.9999996697490110f, 0.9999996935770344f, 0.9999997157409060f, 0.9999997363527273f, 0.9999997555173494f, 0.9999997733328196f, 0.9999997898908039f, 0.9999998052769828f, 0.9999998195714259f, 0.9999998328489421f, 0.9999998451794108f, 0.9999998566280922f, 0.9999998672559198f, 0.9999998771197746f, 0.9999998862727435f, 0.9999998947643614f, 0.9999999026408388f, 0.9999999099452765f, 0.9999999167178646f, 0.9999999229960725f, 0.9999999288148247f, 0.9999999342066670f, 0.9999999392019217f, 0.9999999438288334f, 0.9999999481137065f, 0.9999999520810322f, 0.9999999557536089f, 0.9999999591526549f, 0.9999999622979134f, 0.9999999652077514f, 0.9999999678992515f, 0.9999999703882987f, 0.9999999726896611f, 0.9999999748170654f, 0.9999999767832677f, 0.9999999786001196f, 0.9999999802786297f, 0.9999999818290218f, 0.9999999832607887f, 0.9999999845827421f, 0.9999999858030606f, 0.9999999869293328f, 0.9999999879685986f, 0.9999999889273877f, 0.9999999898117551f, 0.9999999906273142f, 0.9999999913792682f, 0.9999999920724392f, 0.9999999927112944f, 0.9999999932999724f, 0.9999999938423057f, 0.9999999943418427f, 0.9999999948018690f, 0.9999999952254246f, 0.9999999956153229f, 0.9999999959741669f, 0.9999999963043638f, 0.9999999966081397f, 0.9999999968875528f, 0.9999999971445058f, 0.9999999973807567f, 0.9999999975979301f, 0.9999999977975265f, 0.9999999979809319f, 0.9999999981494259f, 0.9999999983041898f, 0.9999999984463144f, 0.9999999985768053f, 0.9999999986965913f, 0.9999999988065282f, 0.9999999989074059f, 0.9999999989999523f, 0.9999999990848385f, 0.9999999991626829f, 0.9999999992340556f, 0.9999999992994814f, 0.9999999993594437f, 0.9999999994143880f, 0.9999999994647240f, 0.9999999995108290f, 0.9999999995530502f, 0.9999999995917070f, 0.9999999996270934f, 0.9999999996594795f, 0.9999999996891137f, 0.9999999997162244f, 0.9999999997410216f, 0.9999999997636982f, 0.9999999997844314f, 0.9999999998033839f, 0.9999999998207052f, 0.9999999998365327f, 0.9999999998509920f, 0.9999999998641989f, 0.9999999998762595f, 0.9999999998872711f, 0.9999999998973228f, 0.9999999999064966f, 0.9999999999148674f, 0.9999999999225040f, 0.9999999999294694f, 0.9999999999358213f, 0.9999999999416126f, 0.9999999999468917f, 0.9999999999517030f, 0.9999999999560869f, 0.9999999999600808f, 0.9999999999637186f, 0.9999999999670313f, 0.9999999999700474f, 0.9999999999727929f, 0.9999999999752915f, 0.9999999999775653f, 0.9999999999796336f, 0.9999999999815150f, 0.9999999999832258f, 0.9999999999847813f, 0.9999999999861953f, 0.9999999999874802f, 0.9999999999886479f, 0.9999999999897087f, 0.9999999999906721f, 0.9999999999915470f, 0.9999999999923415f, 0.9999999999930624f, 0.9999999999937168f, 0.9999999999943107f, 0.9999999999948495f, 0.9999999999953380f, 0.9999999999957810f, 0.9999999999961828f, 0.9999999999965470f, 0.9999999999968769f, 0.9999999999971760f, 0.9999999999974469f, 0.9999999999976923f, 0.9999999999979145f, 0.9999999999981156f, 0.9999999999982978f, 0.9999999999984626f, 0.9999999999986117f, 0.9999999999987466f, 0.9999999999988686f, 0.9999999999989789f, 0.9999999999990787f, 0.9999999999991689f, 0.9999999999992504f, 0.9999999999993240f, 0.9999999999993905f, 0.9999999999994507f, 0.9999999999995048f, 0.9999999999995539f, 0.9999999999995981f, 0.9999999999996381f, 0.9999999999996740f, 0.9999999999997065f, 0.9999999999997358f, 0.9999999999997622f, 0.9999999999997861f, 0.9999999999998075f, 0.9999999999998268f, 0.9999999999998444f, 0.9999999999998600f, 0.9999999999998741f, 0.9999999999998870f, 0.9999999999998983f, 0.9999999999999087f, 0.9999999999999181f, 0.9999999999999263f, 0.9999999999999338f, 0.9999999999999407f, 0.9999999999999467f, 0.9999999999999523f, 0.9999999999999572f, 0.9999999999999616f, 0.9999999999999655f, 0.9999999999999691f, 0.9999999999999722f, 0.9999999999999751f, 0.9999999999999778f, 0.9999999999999800f, 0.9999999999999821f, 0.9999999999999840f, 0.9999999999999857f, 0.9999999999999871f, 0.9999999999999885f, 0.9999999999999898f, 0.9999999999999908f, 0.9999999999999918f, 0.9999999999999927f, 0.9999999999999933f, 0.9999999999999941f, 0.9999999999999947f, 0.9999999999999953f, 0.9999999999999958f, 0.9999999999999962f, 0.9999999999999967f, 0.9999999999999970f, 0.9999999999999973f, 0.9999999999999976f, 0.9999999999999979f, 0.9999999999999981f, 0.9999999999999983f, 0.9999999999999985f, 0.9999999999999987f, 0.9999999999999988f, 0.9999999999999989f, 0.9999999999999991f, 0.9999999999999991f, 0.9999999999999992f, 0.9999999999999993f, 0.9999999999999993f, 0.9999999999999994f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999996f, 0.9999999999999997f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999998f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 0.9999999999999999f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f, 1.0000000000000000f
+-};
+-/*!
+-	Gaussian Error Function
+-*/
+-static float erf(const float x)
+-{
+-	if(x>0) return erftable[(int)(min(6.f,x)*100)];
+-	return -erftable[(int)(min(6.f,-x)*100)];
+-}
+-
+ enum distEnum {DIST_EUCLIDEAN, DIST_MANHATTAN, DIST_INFINITE} ;
+ 
+ inline float Distance(float *a, float *b, u32 dim, distEnum metric)
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_IOPlugins/PCAFaces/basicOpenCV.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_IOPlugins/PCAFaces/basicOpenCV.cpp
+@@ -263,7 +263,7 @@ void BasicOpenCV::DisplayHueSatHist(IplI
+     f32 max_value = 0;
+ 
+     cvCvtColor( src, hsv, CV_BGR2HSV );
+-    cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
++    cvSplit( hsv, h_plane, s_plane, v_plane, 0 );
+     hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );
+     cvCalcHist( planes, hist, 0, 0 );
+     cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
+@@ -271,7 +271,7 @@ void BasicOpenCV::DisplayHueSatHist(IplI
+ 
+     FOR(h, h_bins){
+         FOR(s, s_bins){
+-            f32 bin_val = cvQueryHistValue_2D( hist, h, s );
++            f32 bin_val = cvGetReal2D( hist, h, s );
+             s32 intensity = cvRound(bin_val*255/max_value);
+             cvRectangle( hist_img, cvPoint( h*scale, s*scale ),
+                          cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),
+--- mldemos-0.5.1+git.1.ee5d11f.orig/_IOPlugins/WebImport/parser.cpp
++++ mldemos-0.5.1+git.1.ee5d11f/_IOPlugins/WebImport/parser.cpp
+@@ -267,7 +267,7 @@ void CSVParser::cleanData(unsigned int a
+         if (!(dataTypes[i]&acceptedTypes) &&  // data type does not correspond to a requested one
+            (i != outputLabelColumn))       // output labels are stored separately, ignore
+         {
+-            cout << "Removing colum " << i << " of type " << dataTypes[i] <<  " ... ";
++            cout << "Removing column " << i << " of type " << dataTypes[i] <<  " ... ";
+             for(size_t j = 0; j < data.size(); j++)
+             {
+                 /* @note it seems that if we have --i instead of (i-1), the compiler produces bad code (SIGSEGV) */
diff --git a/debian/patches/series b/debian/patches/series
index 7886500d..efa88106 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-hardwire-plugin-directory.patch
+debian-changes
diff --git a/debian/source/local-options b/debian/source/local-options
deleted file mode 100644
index 7423a2df..00000000
--- a/debian/source/local-options
+++ /dev/null
@@ -1 +0,0 @@
-single-debian-patch

Run locally

More details

Full run details

Historical runs