Bjoern Froehlich 13 jaren geleden
bovenliggende
commit
035eb915e1
1 gewijzigde bestanden met toevoegingen van 13 en 6 verwijderingen
  1. 13 6
      semseg/SemSegContextTree.cpp

+ 13 - 6
semseg/SemSegContextTree.cpp

@@ -1906,6 +1906,7 @@ void SemSegContextTree::semanticseg ( CachedExample *ce, NICE::Image & segresult
     
     
     MultiChannelImageT<unsigned short int> lastfeats = currentfeats;
     MultiChannelImageT<unsigned short int> lastfeats = currentfeats;
 
 
+#pragma omp parallel for
     for ( int tree = 0; tree < nbTrees; tree++ )
     for ( int tree = 0; tree < nbTrees; tree++ )
     {
     {
       for ( int x = 0; x < xsize; x++ )
       for ( int x = 0; x < xsize; x++ )
@@ -1933,19 +1934,25 @@ void SemSegContextTree::semanticseg ( CachedExample *ce, NICE::Image & segresult
             {
             {
               currentfeats.set ( x, y, forest[tree][t].left, tree );
               currentfeats.set ( x, y, forest[tree][t].left, tree );
 #ifdef TEXTONMAP
 #ifdef TEXTONMAP
-              SparseVectorInt v;
-              v.insert ( pair<int, double> ( forest[tree][forest[tree][t].left].nodeNumber, weight ) );
-              textonMap ( subx, suby ).add ( v );
+#pragma omp critical
+              {
+                SparseVectorInt v;
+                v.insert ( pair<int, double> ( forest[tree][forest[tree][t].left].nodeNumber, weight ) );
+                textonMap ( subx, suby ).add ( v );
+              }
 #endif
 #endif
             }
             }
             else
             else
             {
             {
               currentfeats.set ( x, y, forest[tree][t].right, tree );
               currentfeats.set ( x, y, forest[tree][t].right, tree );
 #ifdef TEXTONMAP
 #ifdef TEXTONMAP
-              SparseVectorInt v;
-              v.insert ( pair<int, double> ( forest[tree][forest[tree][t].right].nodeNumber, weight ) );
+#pragma omp critical
+              {
+                SparseVectorInt v;
+                v.insert ( pair<int, double> ( forest[tree][forest[tree][t].right].nodeNumber, weight ) );
 
 
-              textonMap ( subx, suby ).add ( v );
+                textonMap ( subx, suby ).add ( v );
+              }
 #endif
 #endif
             }
             }