Subversion Repositories public iLand

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
779 4059d 18h werner /branches/port_qt5_64bit/  
739 4468d 20h werner /trunk/src/core/ removed some warnings, added a ASSERT to stamp-selection (problem with
old stamps)
 
705 4591d 15h werner /trunk/src/ series of performance tests / modifications.
Using "valgrind" on the linux virtual machine, some performance
measurements were made.
Some candidates for optimization were tested. (1) the applyLIP()
function (about 30% of total run time in runYear()): here several
inlining options were tested; testing the value of the stamp before
using it (in order to omit the other steps) prooved to be slower than
unsing all stamp values.
(2) the random number generator; here the random number generation is
about 5% of the total run time; the commit contains two/three other
variants.
 
697 4599d 15h werner /trunk/ Doxygen documentation revisited.
After re-establishing doxygen documentation (last update: 2009) a lot of smaller/medium documentation fixes.
Documentation is something that could definitely be always improved ;)
 
671 4642d 19h werner /trunk/src/ Necessary changes for GPL licence (i.e. headers in all source files)  
639 4803d 16h werner / move current content to the "trunk"  
487 5013d 14h werner /src/core/ some performance optimizations done on Linux with valgrind /
KCacheGrind.
stamp: did inlining of "distanceToCenter" (is still relatively expensive
due to heavy usage in e.g. applyLip)
Saplings: removed the very exensive way to check if a sapling of a
species is already on a given pixel; we now use a std::bitmap for that
purpose.
grid: optimized the "indexOf(float*)"-method; this method is used very
often.
 
401 5159d 13h werner / starting from a change in the LIP-pattern and the LIP-application a grand tour through followed.
StampContainer has now a static grid that holds distances to the stamp-center. This is used by the tree when applying a stamp.cpp
minor changes necessary due to the switch to Qt 4.6
 
400 5159d 21h werner /src/ changed the binary format of the LIP stamps (included a magic number, a version and a call to setVersion()). Changed the way of aggregating the "shadow" in the lightroom: now (again) the result value represents the mean "shadow" per meter below the 45° line.  
321 5327d 22h werner /src/ * check for NaN in readLIF_torus() (Tree).
* dump() function in Stamp
* removed compiler warnings
 
149 5412d 07h werner /src/ - drawing GUI in MainWindow
- "Opacity" of tree crowns as a function of leafarea (and crown area;
crown radius is stored in LIP-stamp).
 
145 5412d 13h Werner /src/ Run and compiled iLand on Linux (Kubuntu) with a virtual machine. The gcc on Linux issues lots of warnings which I fixed on the Linux side. Also fixed TTickTack (the clock issue).
Now iLand also runs on Linux - nice!
 
131 5415d 06h Werner /src/ added a 64x64 stamp while reinvoking the FonStudio  
83 5426d 14h Werner /src/ new structure  
80 5426d 14h Werner / change master structure  
58 5469d 10h Werner /fonstudio/ working version of light alogorithnm:
* steps during read:
own_xy = 1 - writer_xy * la_factor / h_dom
value_xy = grid_xy / own_xy
lightvalue = sum( value_xy * reader_xy) [ sum(reader) = 1 ]

additional correction for overstorey:
if h > h_dom:
lightvalue = 1 - (1 - lightvalue) * h/h_dom

other issues:
* added buffer around sim. area
* cleaned xml-file and code to interpret
* fixed Viewport (handling of negative coordinates - see buffer)
* fixed StampContainer, added finalizeSetup() - (filling up of the lookup map)
 
47 5473d 11h Werner /fonstudio/ now to each "writer" stamp a reader stamp (i.e. the "crownradius") is directly attached. Therefore some changes in tree and treespecies.  
43 5473d 14h Werner /fonstudio/ changed lightroom again to aggregate averages of shadowing along the full height (including crown).
additionally saved the value at the center which will be used for the "dominance" height of the tree.
modified file structure of binary stamp files to include dominance values.
 
42 5473d 14h Werner /fonstudio/ additionally storing crown radius in stamp file.
readout of stamps using radius-stamps.
 
40 5474d 08h Werner /fonstudio/ reading out of stamp values.
lots of additional small changes.
 
38 5475d 10h Werner /fonstudio/ LightRoom: use sum instead of average
Use of Lightroom in mainwindow: cut parts of lightroom result based on values and save as binary stamp file.
create class TreeSpecies, start to impl. use of stamps in Tree.
 
35 5477d 07h Werner /fonstudio/ various fixes (still trying to load/save stamps).  
34 5477d 09h Werner /fonstudio/ Handling of stamps (read, write, ...)  
33 5477d 09h Werner /fonstudio/ general handling of stamps. This includes:
* StampContainer class. encapsulates internal storage, fast access, read/write functions to binary streams
* factory-approach for creation of stamps with different size. This can be used to use specific looping routines depending on stamp size.
 
32 5477d 16h Werner /fonstudio/ grid: average() function, more const access operators.
LightRoom: mod. mode of setup (now setup with metric length instead of pixelcount),
fixed "addition of angles" bug.
added generation of "subpixel" stamps.
 
30 5480d 14h Werner /fonstudio/ change "stamp" to "imagestamp", added a new "stamp" which should be more like the real, efficient stamp used in iLand.
started impl. of lightroom - batch modus.