From aa961c7b7902b56954fdb62e52fb1e59443f9539 Mon Sep 17 00:00:00 2001 From: Daniel Girardeau-Montaut Date: Mon, 22 Oct 2018 19:01:30 +0200 Subject: [PATCH] Files updated --- CMakeLists.txt | 7 +- Logo_cnrs_eub_eec.png | Bin 0 -> 144994 bytes classifyDisclaimerDlg.ui | 112 ++++++++++++++++++++++ iconClassify.png | Bin 0 -> 5191 bytes iconCreate.png | Bin 0 -> 5049 bytes info.json | 26 ++++++ q3DMASC.cpp | 171 ++++++++++++++++++++++++++++++++++ qCanupo2Plugin.h => q3DMASC.h | 47 +++++----- q3DMASC.qrc | 7 ++ q3DMASCDisclaimerDialog.h | 84 +++++++++++++++++ qCanupo2Plugin.cpp | 65 ------------- qCanupo2Plugin.qrc | 5 - trainDisclaimerDlg.ui | 113 ++++++++++++++++++++++ 13 files changed, 543 insertions(+), 94 deletions(-) create mode 100644 Logo_cnrs_eub_eec.png create mode 100644 classifyDisclaimerDlg.ui create mode 100644 iconClassify.png create mode 100644 iconCreate.png create mode 100644 info.json create mode 100644 q3DMASC.cpp rename qCanupo2Plugin.h => q3DMASC.h (55%) create mode 100644 q3DMASC.qrc create mode 100644 q3DMASCDisclaimerDialog.h delete mode 100644 qCanupo2Plugin.cpp delete mode 100644 qCanupo2Plugin.qrc create mode 100644 trainDisclaimerDlg.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index 9759542..3c5c203 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 2.8) -option( INSTALL_QCANUPO2_PLUGIN "Check to install qCanupo2 plugin" OFF ) +option( INSTALL_Q3DMASC_PLUGIN "Check to install q3DMASC plugin" OFF ) -if (INSTALL_QCANUPO2_PLUGIN) +if (INSTALL_Q3DMASC_PLUGIN) #New classification plugin (Dimitri Lague/OSUR) -project( QCANUPO2_PLUGIN_DLL ) +project( Q3DMASC_PLUGIN_DLL ) #need OpenCV find_package( OpenCV REQUIRED ) @@ -16,6 +16,7 @@ project( QCANUPO2_PLUGIN_DLL ) #include the whole CC directory (easier) include_directories( ${CloudCompare_SOURCE_DIR} ) + #include_directories( ${OpenCV_INCLUDE_DIR} ) #we need the "order choice" dialog file( GLOB CC_PLUGIN_CUSTOM_HEADER_LIST ${CloudCompare_SOURCE_DIR}/ccOrderChoiceDlg*.h ) diff --git a/Logo_cnrs_eub_eec.png b/Logo_cnrs_eub_eec.png new file mode 100644 index 0000000000000000000000000000000000000000..69467bb9e432f53fc3b58d9f305ea07703319dc2 GIT binary patch literal 144994 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 z zEHgJ>-u5WJ+~u^&Y7fMhkuN7&LFuj6iggsW4;{D*?_=R@lbeelf3B*Pb^PM_%jcF~ z>~?4!1U7P^(R>n>j>{~xE!s9Mqgok94)Zs(ANlfii2Gjrc`A54U%qYO^Z9ZU)|2;9 zKv?+P()x4Ru~I9k5-l$Wxw)Clvba$&77e7z-$lXsEID^j`5aSW@Z7vCp0}v7E%rPo zKey29MX$Ni)~$SAd=BUw)3uVG^O`O9T5;{r z+-hEtYohS=l3!#WN<9yyx=95fzGeGH28i}XZf})L{ZIYxbN>^sy*F}ChH%Zk0}NmD z-h|4JG=P7sL9?P-;p11f4?TV{xQ5o9Eq~;J7I~`MD=TTdsu-Q`Y^C#6R%MyWa{cAK zF1R+t>mjGuc4NYOnR#!xWhpKDvCmWKsTC*$ytirqs{eg8|4M~no_r7z`~C5#xYt!< zfL6FU^NZTYfT6f<@tlf(D{rSN4EpZ^!%sE9S7aDw7wY#&*G=K;g5O*fbFF?E7^?rN z|5Y*=78d~U`fb%3oJ$MB`IPIfis$-W&XxN5`+V1_8iwkBRSt%6aWD9V{!vYwe}LN5 zrnXP=+xh~(FJb;q{ZIX`lEUy)tX!B-mrqiv|Ed3}|EYgl>VN8g74)A1hH6ur+SH~t cwN+*Nf10}WTCuIEdjJ3c07*qoM6N<$f(jXgMF0Q* literal 0 HcmV?d00001 diff --git a/classifyDisclaimerDlg.ui b/classifyDisclaimerDlg.ui new file mode 100644 index 0000000..c8f0091 --- /dev/null +++ b/classifyDisclaimerDlg.ui @@ -0,0 +1,112 @@ + + + ClassifyDisclaimerDialog + + + + 0 + 0 + 460 + 250 + + + + q3DMASC_classify (disclaimer) + + + + :/CC/plugin/qCanupoPlugin/iconClassify.png:/CC/plugin/qCanupoPlugin/iconClassify.png + + + + + + + + + 150 + 174 + + + + + + + :/CC/plugin/q3DMASC/Logo_cnrs_eub_eec.png + + + true + + + + + + + true + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; font-weight:600; color:#1f497d;">3D Multi-cloud, Multi-Attribute, multi-Scale, multi Class classification (3DMASC)</span></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; font-style:italic; color:#1f497d;">Le Guennec, A., Lague, D., Corpetti, Th., Lefevre, S.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Calibri,sans-serif'; font-size:10pt; font-style:italic; color:#1f497d; background-color:#ffffff;"><br /></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; color:#1f497d; background-color:#ffffff;">Funded by UniversitĂ© EuropĂ©enne de Bretagne, Centre National de la Recherche Scientifique and EEC Marie-Curie actions</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Calibri,sans-serif'; font-size:10pt; color:#1f497d; background-color:#ffffff;"><br /></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; color:#1f497d;">Enjoy!</span></p></body></html> + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + buttonBox + accepted() + ClassifyDisclaimerDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + ClassifyDisclaimerDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/iconClassify.png b/iconClassify.png new file mode 100644 index 0000000000000000000000000000000000000000..9437a2dc8612012b7e0106857f969783838dde52 GIT binary patch literal 5191 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 B)>Hrh literal 0 HcmV?d00001 diff --git a/iconCreate.png b/iconCreate.png new file mode 100644 index 0000000000000000000000000000000000000000..663b3aea0f1d6060e74c087a17798d9b979d5266 GIT binary patch literal 5049 zcmV;q6GrTbP)&~vH$=88FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H16E;aiK~#90?VEXgl-0S%zvrFFLP*HQCPWZ|En;L*5E`}#kOia= zEKt3dVy|**tqU#)30%m87NcI;tHq_Q^m;9}b*UwwW>c8}R%qQQP&d%3AQ@&dnI+p~ znR)IX@60fhJ-B^7ZJ*EQ{mlD5&+q)sInP<2^S+}*gnwqyzU~5i-SSWG0AokR>Yu$` ze&Mj8c|(&^0Ql5egWXkk$8YYO`alpfe?#S!(=W^T^RSc@td3g#`qA;kvZ95apgnt2 z<;rQ7T>A8Ym{?BR&K~{c&6iFJ+HyBlm`ztqFY+|h-&eAFR6*{>^5rupPkk0(|J!fR zf2Aa6Ul4oKL&weOqed5hCA69d2*yB({;UiHMCSL6n9p&qcZ_}S?1ZGZD%+Th`N;?p>O z@E-gdm+c9h>YC>$3b8&939fmUyONN?1lsc-P|;i*%cvRWA!GmzoQ zL+7QB9Q$T?<;Ra6XNixEA75j4aO}hhj-5P-K}9ig@Q9r6ZGY=eogCm(BR9qv2F|iM z+`RwE-~aH~Z5e9k+KK9o_l{@V>zwW31#9!k3Y){t2cLZ0WOKNQGQ`|U2eCQaoIY#A z=5S+FG5^-l=BR6kc(ys*9Vw`FHDGhNao0D7bPi`dHiw&2wll>$*G^P#e{lTYZ4MXS z7QZp4pnMBJN5|N$ttdn z4==pc?!xYLQd3)t%hN(`!Mys@@g7i~W8vzDaxEtKqYF*IaT^CXKS{IE?Ei`+ZN^G?*-0qfD*@YFRpv~cQ zM__HWogGl;@?fiVMfQL?PXso*u)^eUG-0cC;rB~zLxUe%t&2Lho2ruBUv%VjxxBx& z)w*bCZd@I5Kvr>eY|UA{8)`;>PxYs%sdcT*;U;#VJP%NF*1f~#aN}}$Z;Eh$!%bt8 z7cu%CY4kQ>wRxziX<8Mu)rR$eZihgf2b;r<$J2by0f8a#+3AL*7hm)AGp9anu$--R z)97vDrIOr-&YafMG`BQ&;sdarb)62DE#v@8k;&_H*JHIiX=-ZkG9f_Drn1TJzHh}R zt!SD)qmNBbyv%BM^42wL5XupPMi2b#AP7Cnx`2JNeWZ=Zep2>WGV1hto#H&je^{ZNh4I z@>z|u%R1CIH(q45JMlC$xgs(gm6n9f)`X+BISVj%mDpL^wmLCBj#jU5bzo)%jp0eD($Qra~Oc>7bW3?cVyQ$)u%58a1g>w!` z8FZb2W{d{IBM}aWiygRQ^vHp?0(0iAtK710d+t_%+=8miwl;R``)SSrVOg~s3_SSKVZOMEvg-#YJMxc@&J`3d5>sO?PyW$C{1OG zs8%hi9nC1VaGZ+re=mqL#P~y#Kv_xF78TW2tVQ`+M+{FTJuQudglGl~G*&gVxaI~c z51>W)(4yKAQB8CsW!vU&5kpI{F-AU4Nr`9Ng%>h(a3Y3if2|nXHwP;p(F6WjPAHF>tISlsT+VQ#Q(hHCqLBB@_wOGuw&LnPz&$9_2BHDaQzwr zYL9yjO07j?AD+%Z7($O$AJG%4qHjzSmVimAXtQ1^Fql zO7HFfcZkThdP(Y%{G@8N$5n(<7FCQvis(7k?t`ek?pF}zA$%82tccnVydg^yrvYfF z#RAnuKe9CRLWPd+HAhwhj{%#*w4o(XDP>YhnFEjW0V_}iYy*&`Nn3$xCcAr|ka{c1 zZqGFc^YkZ~fIoQ8)F4KX%?gV9%Grl~fcg*o{@K8ku#8>z80#>Qk1%OqNy7qSo4#LRjCU^-UC>_W7ZafQty=9a+?n^FxGuask2Hc6M%?R0F%%s#mjmm5Z|c)k92hb z?*b+u8n6WOPi z&>c1uCjReL>8psD8qI*%+#eoASE9N>-nZasV&J?(!3t-u2)H5q+=nhG4H zL%I6nfULl8JAq|TDYdc#=FzbGCqj2h&Fzg`MAnPQflm7Tq-t53sAOqkRsgs<@LMcP z6B9v?`ur+l>066Flpa9j2B2mC;rIa0bS}Ap?o7Bfu zsmrAHxGkWf5qY`Cy!t9aE+WMQDpl~%taZQ}_uqW*g)mewB)<-&juBbuNGJCi1eLm8 zr_}jSgic=#!h@kZ19}rs161&q#1$(J1vZP+oZzF@~JbA%pD0@BU3JEAVVI^d6< zZ&2zI_PAGtIl$Dx0mHk91clvB)0bNL2Que$8TG-zKxID^hzsbp2Xy7(*j`rwS(fmD z+U>dvji0JL?p^r(_p#gQ<-oItId&ix>!&4hY`+x(af7Cw06xOU6>@dbTYc)*=PL$P zgz#_|md)smR1GXgsjBLOBGy$2hmz+51y zQ)Ws5yy1uEG?9BdC+(XUHEp>Ful87ZU8*_P8#+nXtAHNlm_CAsAJ=zMN5aid!Tb|} zy};jK#BboL4h%;ghmXB_M3{w$LPRN;vP*w;_M!&gK`BA0U7UxANMWC%K9OMl)!h+w zzQ9ri?{IFCI~XT+O73v~L3p*In)iT>L~lVekxSk9Kubz@SHPauL2vFN-R}j=0>{40WwI|<=T$(dIP^(x>?%0$Tlf(D z+^pdjkJhM`29S{#xiO6dmFbyKIJ)oOF;53JWZ)N&xB8*36UUSN#UkHuZUemblez+Zp^ zi1g`@@++6~88-{om(931YmFs#(9qDh9yM**sRae)rmtfhf1Z5LE3-itjC0b(B$zyE zqI}g(xH#+j`zPjal&{PI7i27`4_0{e^zS%EOw2J~kTL&HL0$Ts)vtV2mA`c1+9v?H z@QNiLo-aqgUXN$~;IS<=$6t;In6zwD^^rgRBzQ<-9&uUr!J6YQ&vJfpbY53!7i_Fr ztSNs|)waARgSza(%3Cx|1}ndMvZ5sSWXCj1ieHFpX*I3~kaokbs_x4^6K?l5I93Ck zdUJ25-DGdvA?c5|Mon8*1IXa?X}%TaXQIPx^VaRTC1KdO{{_ss=8BY@jpb%Q(r2%d zOBb(uRx=nSdDKM7D=5Ec%8DN^A9-0$3xQsfFm#NJGhKggINvvOZh9nn)Wp#6N*IkBBh8uxx^6Fh&f&u`{m~5g}voI@6dLD|+NUuOX0IP%+LJ8!v#w5536T8-ASW zdNUwnGOrP(Gy!Dr*lEw_YqQ)d6Xf7yT`WACq~_p`609 z`~?N&rnD)GUI%2@_}P{ac8ZSGjL~KhVbaw_Z>G;)C6lh+^5s(Y&W_wk7hd{ASLN*Up=hi3+%oR>t5rUG0%Z%yb!%R$4&Jqw^2qhbM$JZHY*5J0T?+s zk7tTjv;qXV$If2;U`OuMi>9pZs+@hE1ih|vpZqDm_D)aOCB-kqoq9_@qg0xq*ivNj z0*EH7y!CqcUUTfFqH%LxDgy9&bX{y*N)o`V8-KOt%<=udJae>CYiV$Vc$3mDrLrXN z5r84%rq4b5-a*`-z5fE}lWb4i-ASJvFlhML(7iJH<^Z8@aC0`5P5$WM@852A+uoY6 z=#INIj1yWL^-tO}mK20a5G>4qq{#QDv4aMaK6@1+ShEW&Oo#vP_Q!m!&5WFshsS#I z@us@dm-yPeGZIHm2yqQeO)~+Ex^l^z00!ls+7oxeu#3BFv_3n)?^_aC@42gTDB>4_%V9=cm67J?$|ti_9_WazhHgY3`10m0J7lj7p@l(vJ1*` zj4^RC`pT;%r=aZmq2I`?0wihVCA&lf(;ZL$kPZ`IPGR|NL7mBL864#Ajr()00wTgU z7u<9^blw8%PMO#i+y)OxpZ+2sL(-?e*pVaS+jmCCN3@97ZaZvQTb8R^4;^+S6msyq|aU@fJ|Ol+-bQqnJw`nC*?JUr%#)5Rn51} z&&P=fc?IPcg>Qf+E!$*C95G&R*}}5hgB+=2E)QW+Molya^cP=5-dh0L+tl7y?$7P_`F~Dfd5+RlW>@JK6_*e4wW>Su`S(@cyQtIqLV&E|YNN5) zTc8;*3jWfnZHq!-c#zxgr~0Lmyy~9H@vpDNzwQEj-SRI7eBA~3y5;`?ltKK&$yCr; P00000NkvXXu0mjfG9K9J literal 0 HcmV?d00001 diff --git a/info.json b/info.json new file mode 100644 index 0000000..dffa0c4 --- /dev/null +++ b/info.json @@ -0,0 +1,26 @@ +{ + "type": "Standard", + "name": "3DMASC", + "icon": ":/CC/plugin/q3DMASC/iconCreate.png", + "description": "Create or apply a classifier on a point cloud.", + "authors": [ + { + "name": "Dimitri Lague (OSUR/CNRS)" + } + ], + "maintainers": [ + { + "name": "Dimitri Lague (OSUR/CNRS)" + } + ], + "references": [ + { + "text": "Dimitri Lague, Geosciences Rennes", + "url": "https://geosciences.univ-rennes1.fr/interlocuteurs/dimitri-lague" + }, + { + "text": "Documentation", + "url": "http://www.cloudcompare.org/doc/wiki/index.php?title=3DMASC_(plugin)" + } + ] +} diff --git a/q3DMASC.cpp b/q3DMASC.cpp new file mode 100644 index 0000000..7000fa8 --- /dev/null +++ b/q3DMASC.cpp @@ -0,0 +1,171 @@ +//########################################################################## +//# # +//# CLOUDCOMPARE PLUGIN: q3DMASC # +//# # +//# This program is free software; you can redistribute it and/or modify # +//# it under the terms of the GNU General Public License as published by # +//# the Free Software Foundation; version 2 or later of the License. # +//# # +//# This program is distributed in the hope that it will be useful, # +//# but WITHOUT ANY WARRANTY; without even the implied warranty of # +//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +//# GNU General Public License for more details. # +//# # +//# COPYRIGHT: Dimitri Lague / CNRS / UEB # +//# # +//########################################################################## + +#include "q3DMASC.h" + +//local +#include "q3DMASCDisclaimerDialog.h" + +//qCC_db +#include + +//Qt +#include +#include +#include +#include +#include + +q3DMASCPlugin::q3DMASCPlugin(QObject* parent/*=0*/) + : QObject(parent) + , ccStdPluginInterface( ":/CC/plugin/q3DMASCPlugin/info.json" ) + , m_classifyAction(0) + , m_trainAction(0) +{ +} + +void q3DMASCPlugin::onNewSelection(const ccHObject::Container& selectedEntities) +{ + if (m_classifyAction) + { + //classification: only one point cloud + m_classifyAction->setEnabled(selectedEntities.size() == 1 && selectedEntities[0]->isA(CC_TYPES::POINT_CLOUD)); + } + + if (m_trainAction) + { + m_trainAction->setEnabled(m_app && m_app->dbRootObject() && m_app->dbRootObject()->getChildrenNumber() != 0); //need some loaded entities to train the classifier! + } + + m_selectedEntities = selectedEntities; +} + +QList q3DMASCPlugin::getActions() +{ + QList group; + + if (!m_trainAction) + { + m_trainAction = new QAction("Train classifier", this); + m_trainAction->setToolTip("Train classifier"); + m_trainAction->setIcon(QIcon(QString::fromUtf8(":/CC/plugin/q3DMASCPlugin/iconCreate.png"))); + connect(m_trainAction, SIGNAL(triggered()), this, SLOT(doTrainAction())); + } + group.push_back(m_trainAction); + + if (!m_classifyAction) + { + m_classifyAction = new QAction("Classify", this); + m_classifyAction->setToolTip("Classify cloud"); + m_classifyAction->setIcon(QIcon(QString::fromUtf8(":/CC/plugin/q3DMASCPlugin/iconClassify.png"))); + connect(m_classifyAction, SIGNAL(triggered()), this, SLOT(doClassifyAction())); + } + group.push_back(m_classifyAction); + + return group; +} + +#include + +void q3DMASCPlugin::doClassifyAction() +{ + if (!m_app) + { + assert(false); + return; + } + + //disclaimer accepted? + if (!ShowClassifyDisclaimer(m_app)) + { + return; + } + + if (m_selectedEntities.empty() || !m_selectedEntities.front()->isA(CC_TYPES::POINT_CLOUD)) + { + m_app->dispToConsole("Select one and only one point cloud!", ccMainAppInterface::ERR_CONSOLE_MESSAGE); + return; + } + + ccPointCloud* cloud = static_cast(m_selectedEntities.front()); + + struct RTParams + { + int maxDepth = 25; //To be left as a parameter of the training plugin (default 25) + int minSampleCount = 1; //To be left as a parameter of the training plugin (default 1) + int maxCategories = 0; //Normally not important as there’s no categorical variable + const bool calcVarImportance = true; //Must be true + int activeVarCount = 0; //USE 0 as the default parameter (works best) + int maxTreeCount = 100; //Left as a parameter of the training plugin (default: 100) + }; + RTParams params; + + unsigned sampleCount = cloud->size(); + unsigned attributesPerSample = cloud->getNumberOfScalarFields(); + + //NUMBER_OF_TRAINING_SAMPLES = number of points + //ATTRIBUTES_PER_SAMPLE = number of scalar fields + cv::Mat training_data = cv::Mat(sampleCount, attributesPerSample, CV_32FC1); + cv::Mat train_labels = cv::Mat(attributesPerSample, 1, CV_32FC1); + + cv::Ptr rtrees; + rtrees = cv::ml::RTrees::create(); + rtrees->setMaxDepth(params.maxDepth); + rtrees->setMinSampleCount(params.minSampleCount); + rtrees->setCalculateVarImportance(params.calcVarImportance); + rtrees->setActiveVarCount(params.activeVarCount); + cv::TermCriteria terminationCriteria(cv::TermCriteria::MAX_ITER, params.maxTreeCount, std::numeric_limits::epsilon()); + rtrees->setTermCriteria(terminationCriteria); + + //rtrees->setRegressionAccuracy(0); + //rtrees->setUseSurrogates(false); + //rtrees->setMaxCategories(params.maxCategories); //not important? + //rtrees->setPriors(cv::Mat()); + + rtrees->train(training_data, cv::ml::ROW_SAMPLE, train_labels); + +} + +//OpenCV + +void q3DMASCPlugin::doTrainAction() +{ + //disclaimer accepted? + if (!ShowTrainDisclaimer(m_app)) + return; + + //if (m_selectedEntities.size() != 2 + // || !m_selectedEntities[0]->isA(CC_TYPES::POINT_CLOUD) + // || !m_selectedEntities[1]->isA(CC_TYPES::POINT_CLOUD)) + //{ + // m_app->dispToConsole("Select two point clouds!",ccMainAppInterface::ERR_CONSOLE_MESSAGE); + // return; + //} + // + //ccPointCloud* cloud1 = static_cast(m_selectedEntities[0]); + //ccPointCloud* cloud2 = static_cast(m_selectedEntities[1]); +} + +void q3DMASCPlugin::registerCommands(ccCommandLineInterface* cmd) +{ + if (!cmd) + { + assert(false); + return; + } + //cmd->registerCommand(ccCommandLineInterface::Command::Shared(new CommandCanupoClassif)); +} diff --git a/qCanupo2Plugin.h b/q3DMASC.h similarity index 55% rename from qCanupo2Plugin.h rename to q3DMASC.h index 9cc2a97..4f8e7f0 100644 --- a/qCanupo2Plugin.h +++ b/q3DMASC.h @@ -1,57 +1,62 @@ //########################################################################## //# # -//# CLOUDCOMPARE PLUGIN: qCanupo2 # +//# CLOUDCOMPARE PLUGIN: q3DMASC # //# # //# This program is free software; you can redistribute it and/or modify # //# it under the terms of the GNU General Public License as published by # -//# the Free Software Foundation; version 2 of the License. # +//# the Free Software Foundation; version 2 or later of the License. # //# # //# This program is distributed in the hope that it will be useful, # //# but WITHOUT ANY WARRANTY; without even the implied warranty of # -//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # //# GNU General Public License for more details. # //# # -//# COPYRIGHT: OSUR # +//# COPYRIGHT: Dimitri Lague / CNRS / UEB # //# # //########################################################################## -#ifndef QCANUPO2_PLUGIN_HEADER -#define QCANUPO2_PLUGIN_HEADER +#ifndef Q_3DMASC_PLUGIN_HEADER +#define Q_3DMASC_PLUGIN_HEADER //qCC #include -//! New classification plugin (Dimitri Lague / OSUR) -class qCanupo2Plugin : public QObject, public ccStdPluginInterface +//qCC_db +#include + +//! 3DMASC plugin +/** 3D Multi-cloud, multi-Attribute, multi-Scale, multi-Class classification +**/ +class q3DMASCPlugin : public QObject, public ccStdPluginInterface { Q_OBJECT Q_INTERFACES(ccStdPluginInterface) - //replace qDummy by the plugin name (IID should be unique - let's hope your plugin name is unique ;) - Q_PLUGIN_METADATA(IID "cccorp.cloudcompare.plugin.qCanupo2") + Q_PLUGIN_METADATA(IID "cccorp.cloudcompare.plugin.q3DMASC" FILE "info.json") public: //! Default constructor - explicit qCanupo2Plugin(QObject* parent = 0); - - //inherited from ccPluginInterface - virtual QString getName() const override { return "CANUPO V2"; } - virtual QString getDescription() const override { return "CANUPO V2 Classification (D. Lague, A. le Guennec)"; } - virtual QIcon getIcon() const override; + q3DMASCPlugin(QObject* parent = nullptr); //inherited from ccStdPluginInterface void onNewSelection(const ccHObject::Container& selectedEntities) override; virtual QList getActions() override; + virtual void registerCommands(ccCommandLineInterface* cmd) override; protected slots: - void doAction(); + void doClassifyAction(); + void doTrainAction(); protected: - //! Default action - QAction* m_action; + //! Calssift action + QAction* m_classifyAction; + //! Train action + QAction* m_trainAction; + + //! Currently selected entities + ccHObject::Container m_selectedEntities; }; -#endif //QCANUPO2_PLUGIN_HEADER - +#endif //Q_3DMASC_PLUGIN_HEADER diff --git a/q3DMASC.qrc b/q3DMASC.qrc new file mode 100644 index 0000000..6fa4b2e --- /dev/null +++ b/q3DMASC.qrc @@ -0,0 +1,7 @@ + + + iconClassify.png + iconCreate.png + Logo_cnrs_eub_eec.png + + diff --git a/q3DMASCDisclaimerDialog.h b/q3DMASCDisclaimerDialog.h new file mode 100644 index 0000000..3db831d --- /dev/null +++ b/q3DMASCDisclaimerDialog.h @@ -0,0 +1,84 @@ +//########################################################################## +//# # +//# CLOUDCOMPARE PLUGIN: q3DMASC # +//# # +//# This program is free software; you can redistribute it and/or modify # +//# it under the terms of the GNU General Public License as published by # +//# the Free Software Foundation; version 2 or later of the License. # +//# # +//# This program is distributed in the hope that it will be useful, # +//# but WITHOUT ANY WARRANTY; without even the implied warranty of # +//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +//# GNU General Public License for more details. # +//# # +//# COPYRIGHT: Dimitri Lague / CNRS / UEB # +//# # +//########################################################################## + +#ifndef Q3DMASC_DISCLAIMER_DIALOG_HEADER +#define Q3DMASC_DISCLAIMER_DIALOG_HEADER + +#include +#include + +//qCC_plugins +#include + +//Qt +#include + +//! Dialog for displaying the 3DSMAC/UEB disclaimer +class TrainDisclaimerDialog : public QDialog, public Ui::TrainDisclaimerDialog +{ +public: + //! Default constructor + TrainDisclaimerDialog(QWidget* parent = 0) + : QDialog(parent) + , Ui::TrainDisclaimerDialog() + { + setupUi(this); + } +}; + +//whether disclaimer has already been displayed (and accepted) or not +static bool s_trainDisclaimerAccepted = false; + +static bool ShowTrainDisclaimer(ccMainAppInterface* app) +{ + if (!s_trainDisclaimerAccepted) + { + //if the user "cancels" it, then he refuses the diclaimer! + s_trainDisclaimerAccepted = TrainDisclaimerDialog(app ? app->getMainWindow() : 0).exec(); + } + + return s_trainDisclaimerAccepted; +} + +//! Dialog for displaying the M3C2/UEB disclaimer +class ClassifyDisclaimerDialog : public QDialog, public Ui::ClassifyDisclaimerDialog +{ +public: + //! Default constructor + ClassifyDisclaimerDialog(QWidget* parent = 0) + : QDialog(parent) + , Ui::ClassifyDisclaimerDialog() + { + setupUi(this); + } +}; + +//whether disclaimer has already been displayed (and accepted) or not +static bool s_classifyDisclaimerAccepted = false; + +static bool ShowClassifyDisclaimer(ccMainAppInterface* app) +{ + if (!s_classifyDisclaimerAccepted) + { + //if the user "cancels" it, then he refuses the diclaimer! + s_classifyDisclaimerAccepted = ClassifyDisclaimerDialog(app ? app->getMainWindow() : 0).exec(); + } + + return s_classifyDisclaimerAccepted; +} + +#endif //Q3DMASC_DISCLAIMER_DIALOG_HEADER diff --git a/qCanupo2Plugin.cpp b/qCanupo2Plugin.cpp deleted file mode 100644 index 4c8a807..0000000 --- a/qCanupo2Plugin.cpp +++ /dev/null @@ -1,65 +0,0 @@ -//########################################################################## -//# # -//# CLOUDCOMPARE PLUGIN: qDummy # -//# # -//# This program is free software; you can redistribute it and/or modify # -//# it under the terms of the GNU General Public License as published by # -//# the Free Software Foundation; version 2 of the License. # -//# # -//# This program is distributed in the hope that it will be useful, # -//# but WITHOUT ANY WARRANTY; without even the implied warranty of # -//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -//# GNU General Public License for more details. # -//# # -//# COPYRIGHT: XXX # -//# # -//########################################################################## - -#include "qCanupo2Plugin.h" - -//Qt -#include - -qCanupo2Plugin::qCanupo2Plugin(QObject* parent/*=0*/) - : QObject(parent) - , m_action(0) -{ -} - -void qCanupo2Plugin::onNewSelection(const ccHObject::Container& selectedEntities) -{ - //if (m_action) - // m_action->setEnabled(!selectedEntities.empty()); -} - -QList qCanupo2Plugin::getActions() -{ - if (!m_action) - { - m_action = new QAction(getName(),this); - m_action->setToolTip(getDescription()); - m_action->setIcon(getIcon()); - //connect appropriate signal - connect(m_action, SIGNAL(triggered()), this, SLOT(doAction())); - } - - return QList{m_action}; -} - -void qCanupo2Plugin::doAction() -{ - //m_app should have already been initialized by CC when plugin is loaded! - //(--> pure internal check) - assert(m_app); - if (!m_app) - return; - - m_app->dispToConsole("[qCanupo2Plugin] Hello world!",ccMainAppInterface::STD_CONSOLE_MESSAGE); //a standard message is displayed in the console - m_app->dispToConsole("[qCanupo2Plugin] Warning: dummy plugin shouldn't be used as is!",ccMainAppInterface::WRN_CONSOLE_MESSAGE); //a warning message is displayed in the console - m_app->dispToConsole("Dummy plugin shouldn't be used as is!",ccMainAppInterface::ERR_CONSOLE_MESSAGE); //an error message is displayed in the console AND an error box will pop-up! -} - -QIcon qCanupo2Plugin::getIcon() const -{ - return QIcon(":/CC/plugin/qCanupo2/icon.png"); -} diff --git a/qCanupo2Plugin.qrc b/qCanupo2Plugin.qrc deleted file mode 100644 index b3a6622..0000000 --- a/qCanupo2Plugin.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - icon.png - - diff --git a/trainDisclaimerDlg.ui b/trainDisclaimerDlg.ui new file mode 100644 index 0000000..510681f --- /dev/null +++ b/trainDisclaimerDlg.ui @@ -0,0 +1,113 @@ + + + TrainDisclaimerDialog + + + + 0 + 0 + 460 + 250 + + + + q3DSMAC_create (disclaimer) + + + + :/CC/plugin/qCanupoPlugin/iconCreate.png:/CC/plugin/qCanupoPlugin/iconCreate.png + + + + + + + + + 150 + 174 + + + + + + + :/CC/plugin/q3DMASC/Logo_cnrs_eub_eec.png + + + true + + + + + + + true + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; font-weight:600; color:#1f497d;">Classifier creation (3DSMAC)</span></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; font-style:italic; color:#1f497d;">Le Guennec, A., Lague, D., Corpetti, Th., Lefevre, S.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Calibri,sans-serif'; font-size:10pt; font-style:italic; color:#1f497d; background-color:#ffffff;"><br /></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; color:#1f497d; background-color:#ffffff;">Funded by UniversitĂ© EuropĂ©enne de Bretagne, Centre National de la Recherche Scientifique and EEC Marie-Curie actions</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Calibri,sans-serif'; font-size:10pt; color:#1f497d; background-color:#ffffff;"><br /></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; background-color:#ffffff;"><span style=" font-family:'Calibri,sans-serif'; font-size:10pt; color:#1f497d;">Enjoy!</span></p></body></html> + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + + buttonBox + accepted() + TrainDisclaimerDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + TrainDisclaimerDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + +