Full text: Technical Commission III (B3)

Iteration Objects Pkernel Akernel Pkernel 
1000000 3 50.0251 6.91633 49.9749 
2000000 4 50.0137 6.9189 49.9863 
3000000 3 50.0744 6.70802 49.9256 
4000000 4 49.9794 6.67955 50.0206 
5000000 5 50.0122 6.64158 49.9878 
6000000 13 49.9979 6.48967 50.0021 
7000000 38 50.0199 5.25131 49.9801 
8000000 286 49.9434 1.48088 50.0566 
9000000 333 49.9631 0.0140103 50.0369 
10000000 356 50.0272 0.00559696 49.9728 
  
  
  
using 
using 
using namesp 
'space rjmcemc; 
ce marked point process; 
ce simulated annealing; 
    
  
  
   
  
cle. 2  hpp” 
Finfevsection/ Circle. 2 intersection hop) 
coordinates / Circle. 2. coordinates. hpp” 
ouble> K; 
dk de + - 
    
  
Me te 
Sinclude "geometr 
typedef geometry :: Simple_cartesian<( 
typedef K::Point 2 Point.2; 
typedef geometry::Circle 2«K» Circle 2; 
typedef Circle.2 object; 
     
pp/energy/intersection.a 
#include ”mpp/ co ion/graph.con 
a.binary.energy .hpp^ 
iguration.hpp" 
    
typedef constant_energy<> energyi; 
typedef intersection area binary energy«^ area; 
typedef multiplies energy«energyil,area» energy2; 
typedef graph_configuration<object, energyl, energy2> 
configuration; 
isson.distribution.hpp" 
    
#include "mpp/direct.sampler.hpp" 
typedef poisson distribution distribution; 
typedef uniform birth«object» uniform birth; 
typedef direct sampler«distribution,uniform birth» 
reference process; 
  
'acceptance/ metropolis.acceptance . hpp" 
cmc /sampler/ sampler. hpp” 
lis_acceptance acceptance; 
typedef rjmcmc :: sampler<reference_process,b acceptance, 
result_of_make_uniform_birth_death_kernel<object >: type> 
sampler; 
  
  
     
  
e/geometric edule. hp 
t/max.iteration.end. 
"visitor/ostream.visitor.hpp" 
tex .visitorohbpp" 
     
#include t p 
include "visitor/composite.visitor.hpp" 
  
  
int main(int argc , char«« argv) 
int 1=0; 
double energy = (++i<argc) ? atof(argv[i]): —1. 
double surface- (++i<argc) ? atof(argv[i]): 10000.; 
double rmin = (++i<argc) ? atof(argv[i]): 0.02; 
double rmax = (++i<argc) ? atof(argv[i]): 0.1; 
double poisson= (++i<argc) ? atof(argv[i]): 200.; 
double pbirth = (++i<argc) ? atof(argv[i]): 0.5; 
double pdeath = (++i<argc) ? atof(argv[i]): 0.5; 
int nbiter = (++i<argc) ? atoi(argv[i]): 10000001; 
double temp = (++i<argc) ? atof(argv[i]): 200.; 
double deccoef= (++i<argc) ? atof(argv[i]): 0.999999; 
int nbdump = (++i<argc) ? atoi(argv[i]): 1000000; 
int nbsave = (++i<argc) ? atoi(argv[i]): 1000000; 
distribution dpoisson(poisson); 
uniform_birth birth( Circle_2(Point_2(0,0),rmin), 
Circle 2(Point 2(1.1);rmax) ); 
reference process reference pdf( dpoisson, birth ); 
configuration c(energy, surfacexarea()); 
  
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B3, 2012 
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia 
  
Akernel Accept Time(ms) Temp Ul u2 U 
6.92748 6.9219 250 73.5759 3 -7.10543e-14 3 
6.9251 6.922 250 27.0671 4 -1.13687e-13 4 
6.73041 6.7192 260 9.95741 3 -1.10134e-13 3 
6.67465 6.6771 250 3.66312 4 -1.04805e-13 4 
6.64542 6.6435 270 1.34759 5 -1.04805e-13 5 
6.48753 6.4886 290 0.495749 -13 -1.04583e-13 13 
5.25049 5.2509 430 0.182376 -38 -1.04305e-13 38 
1.42798 1.4544 1700 0.0670923 -286 1.84745 -284.153 
0.00459661 0.0093 3490 0.0246819 -333 8.72057 -324.279 
0.00100054 0.0033 3890 0.00907995 -356 18.3511 -337.649 
  
  
ESOS 
“20381 574 = 
2970000 
742500 1485005 2227500 
teraticre 
  
  
Figure 2: Gilviewer-based wxWidget visitors enabling a runtime 
visualization of the configuration (top), and of the temperature 
and energy charts (bottom). 
sampler samp( reference pdf, acceptance(), 
make uniform birth death kernel(birth, pbirth, pdeath) 
); 
geometric_schedule<doubie> sch(temp,deccoef); 
max iteration end test end(nbiter); 
ostream visitor osvisitor; 
tex visitor texvisitor(" quickstart."); 
composite visitor«ostream visitor,tex visitor» 
visitor(osvisitor,texvisitor); 
visitor.init(nbdump,nbsave); 
optimize(c,samp,sch,end,visitor); 
return O0; 
  
The main entry point starts by parsing the input parameters, pro- 
viding default values. Once the reference Poisson process is in- 
stantiated, an empty configuration is created and initialized with 
the energy objects. Then, the RIMCMC sampler object samp is 
constructed. Finally, the sinuiated annealing Objects are created 
and the optimization is performed in place on the configuration 
instance c. Figure 1 shows the output of the program, and the re- 
sulting circle packing. Its runtime is 11s for 356 circles and 107 
iterations. 
4.2 Building extraction 
The method introduced in (Tournaire et al., 2010) has been imple- 
mented within the 1ibrjmcmc library, which extracts buildings 
  
    
   
    
    
   
   
    
   
  
     
    
   
    
  
  
     
   
    
   
    
    
    
     
    
    
      
      
    
  
fron 
This 
to f 
depx 
nels 
DS^ 
(GS 
size 
tain: 
bilit 
acce 
Gen 
sho 
(Ab 
sary 
ing 
evel 
com 
are 
ter ( 
the | 
of tl 
bet 
con 
Imp 
sucl 
201 
imp 
strej 
In t] 
bet 
call 
be 1 
dist 
tran 
cod 
nan 
defi 
hav
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.