Merge remote-tracking branch master into python
This commit is contained in:
commit
adbfca3881
@ -34,8 +34,8 @@ TTH_OUT = $(patsubst %, $(OUT_DIR)/%, $(TTH_PRG))
|
||||
|
||||
## FLAGS ###############################
|
||||
# fast and no control
|
||||
#DFLAGS = -O2 -DNDEBUG -DNO_OTB -DINTEL_TBB_THREAD -DBOOST_DISABLE_ASSERTS
|
||||
DFLAGS = -O2 -DNDEBUG -DNO_OTB -DBOOST_DISABLE_ASSERTS
|
||||
DFLAGS = -O2 -DNDEBUG -DNO_OTB -DINTEL_TBB_THREAD -DBOOST_DISABLE_ASSERTS
|
||||
#DFLAGS = -O2 -DNDEBUG -DNO_OTB -DBOOST_DISABLE_ASSERTS
|
||||
# fast but control
|
||||
#DFLAGS = -O2 -DNDEBUG -DNO_OTB -DINTEL_TBB_THREAD
|
||||
# debug multi-threaded
|
||||
@ -73,7 +73,8 @@ testB: init $(APG_OUT)
|
||||
perf: perfA
|
||||
|
||||
perfA: init $(PRF_OUT)
|
||||
$(PRF_OUT) MIN 32 20 1000000
|
||||
# $(PRF_OUT) MIN 32 20 1000000
|
||||
$(PRF_OUT) MIN 4 20 100000
|
||||
|
||||
init:
|
||||
mkdir -p $(OUT_DIR) $(OBJ_DIR) $(LIB_DIR)
|
||||
@ -82,9 +83,9 @@ clean:
|
||||
find . -type f '(' -name '#*' -o -name '*~' ')' -print -exec rm -f '{}' \;
|
||||
|
||||
wipe: clean
|
||||
rm -rf $(OBJ_DIR)
|
||||
rm -f $(APG_OUT) $(TST_OUT) $(PRF_OUT) $(LIB_DIR)/libtriskele.a
|
||||
rm -f $(OUT_DIR)/*.d
|
||||
-rm -rf $(OBJ_DIR)
|
||||
-rm -f $(APG_OUT) $(TST_OUT) $(PRF_OUT) $(TTH_OUT) $(LIB_DIR)/libtriskele.a
|
||||
-rm -f $(OUT_DIR)/*.d
|
||||
-rmdir $(OUT_DIR) $(OBJ_DIR) $(LIB_DIR) $(BLD_DIR)
|
||||
|
||||
libtriskele: $(LIB_DIR)/libtriskele.a
|
||||
|
@ -2,10 +2,6 @@
|
||||
Note aux développeurs
|
||||
|
||||
** La TODO list
|
||||
- vérifier coupure (avec sens de la monotonie)
|
||||
- faire coupures suivant (A>, W<>, SD>, MOI>)
|
||||
- sort W thresholds
|
||||
- faire les features-profiles (L, mean, SD, A, MOI)
|
||||
- vérifier production windows
|
||||
- refaire le tableau des exemples de traces (./result/BuildSteps.ods)
|
||||
- vérifier min et max apla tos
|
||||
@ -13,7 +9,13 @@
|
||||
- faire des tests de perf pour algo parallèle
|
||||
|
||||
** Fonctions intégré depuis la dernière version
|
||||
- copier les valeurs de géolocalisation (de input vers output)
|
||||
*** depuis version 1.0
|
||||
- copie des valeurs de géolocalisation (de input vers output)
|
||||
- vérification des coupures (avec sens de la monotonie)
|
||||
- coupures suivant (A>, W<>, SD>, MOI>)
|
||||
- tride W thresholds
|
||||
- features-profiles (L, mean, SD, A, MOI)
|
||||
- correction de la monotonie des ToS
|
||||
|
||||
|
||||
** Infos concernant le pattern de git de Triskele
|
||||
@ -72,6 +74,10 @@ Triskele suit partiellement le [[https://nvie.com/posts/a-successful-git-branchi
|
||||
# Il est possible d'annuler le traitement en cas de conflit
|
||||
$ git merge --abort
|
||||
|
||||
- Abandonner les modifications locales
|
||||
# Repart de la version du serveur en plus rapide (et garde les fichiers hors projet)
|
||||
$ git reset --hard origin/master
|
||||
|
||||
- Etiquetage de version
|
||||
# Choisir la branch master
|
||||
git checkout master
|
||||
|
@ -45,7 +45,7 @@ namespace otb {
|
||||
};
|
||||
|
||||
// ========================================
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un MinTree */
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un MaxTree car la fonction calcul le poids minimum */
|
||||
template <typename PixelT, typename WeightT> struct MinWeight : public WeightBase<PixelT, WeightT> {
|
||||
typedef WeightBase<PixelT, WeightT> WB;
|
||||
|
||||
@ -63,7 +63,7 @@ namespace otb {
|
||||
};
|
||||
|
||||
// ========================================
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un MaxTree */
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un MinTree car la fonction calcul le poids maximum. */
|
||||
template <typename PixelT, typename WeightT> struct MaxWeight : public WeightBase<PixelT, WeightT> {
|
||||
typedef WeightBase<PixelT, WeightT> WB;
|
||||
|
||||
@ -76,7 +76,7 @@ namespace otb {
|
||||
};
|
||||
|
||||
// ========================================
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un AlphaTree */
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un AlphaTree car la fonction calcul la distance minimum (0 dans les feuilles comme MinTree donc comme MaxWeight) */
|
||||
template <typename PixelT, typename WeightT> struct DiffWeight : public WeightBase<PixelT, WeightT> {
|
||||
typedef WeightBase<PixelT, WeightT> WB;
|
||||
|
||||
@ -89,7 +89,7 @@ namespace otb {
|
||||
};
|
||||
|
||||
// ========================================
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un TreeOfShape */
|
||||
/*! Structure intégrant la façon dont est géré un poids pour un TreeOfShape car la fonction calcul la distance à la médiane (distance maximum dans les feuilles donc comme MaxTree donc comme MinWeight) */
|
||||
template <typename PixelT, typename WeightT> struct MedianWeight : public WeightBase<PixelT, WeightT> {
|
||||
typedef WeightBase<PixelT, WeightT> WB;
|
||||
protected:
|
||||
|
@ -31,7 +31,7 @@ void
|
||||
perf (const Raster<PixelT> &raster, const GraphWalker &graphWalker, const TreeType &treeType, const unsigned int &coreCount) {
|
||||
ArrayTreeBuilder<PixelT, WeightT> atb (raster, graphWalker, treeType);
|
||||
Tree tree (coreCount);
|
||||
WeightAttributes<PixelT> weightAttributes (tree);
|
||||
WeightAttributes<PixelT> weightAttributes (tree, getDecrFromTreetype (treeType));
|
||||
atb.buildTree (tree, weightAttributes);
|
||||
tree.check (graphWalker.border);
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ void test () {
|
||||
debug = true;
|
||||
ArrayTreeBuilder<PixelT, WeightT> atb (raster, graphWalker, treeType);
|
||||
Tree tree (coreCount);
|
||||
WeightAttributes<PixelT> weightAttributes (tree);
|
||||
WeightAttributes<PixelT> weightAttributes (tree, getDecrFromTreetype (treeType));
|
||||
atb.buildTree (tree, weightAttributes);
|
||||
tree.check (border);
|
||||
|
||||
|
@ -28,10 +28,11 @@ fLambda (DimImg &nbItem, const FunctId &functId/* functId (id) */) {
|
||||
template<typename FunctId>
|
||||
inline void
|
||||
fThread (double &inDuration, const DimImg &nbItem, const FunctId &functId/* functId (id) */) {
|
||||
// One thread
|
||||
#if INTEL_TBB_THREAD
|
||||
using namespace tbb;
|
||||
#pragma warning(disable: 588)
|
||||
parallel_for (size_t (0), size_t (1), [&nbItem, &functId] (size_t idCopyValInThread) {
|
||||
parallel_for (size_t (0), size_t (1), [&nbItem, &functId, &inDuration] (size_t idCopyValInThread) {
|
||||
auto start = high_resolution_clock::now ();
|
||||
for (DimImg x = 0; x < nbItem; ++x)
|
||||
functId (x);
|
||||
|
Loading…
Reference in New Issue
Block a user