· Digital photogrammetric (reserach) workstation
· Win32 application with standard GUI
·
Written in
Visual Basic 6 (1998), uses dll-files written in
C/C++/Matlab to do heavy calculations. Project
includes some 20 files. Installation allowed in C:\DATA\ folder only (dlls, ico-files etc.)
·
Can handle
1-9 images at a time, images are described by HDR files with necessary
parameters
·
Supports
anaglyph stereo - there's code for making and viewing stereo images
·
Support
for frame (aerial, terrestrial) images (BW, CIR/RGB, RGBN), 8 or 16 bit per
pixel, ADS40 line imagery
·
Reads
DEM/CHM raster/TIN in raw binary format with HDR specifying the raster/TIN
·
Supports
LiDAR data in pre-defined binary formats (not LAS at the
moment, LAS files are transformed into proprietary format with other
code). Lidar data are in 1-hectare files in C:\data\ALSFOR254\. 050_094.bin is
for hectare x = 2515500..2515600, 6859400..6859500.
"Origin for translations/offsets" in Hyytiälä is at 251000, 6850000
in KKJ-2 system.
·
Performs
3D measurements in single and multiple images (manual and semiautomatic),
object-based treetop image matching, stereo- and image-triplet area-based image
matching.
·
etc.
c:\data\kuvamitt_for254\kuvamitt.vbp starts the compiler with the
needed files.
Run/F5 starts
the program (run-time compiler of the Basic code, c.f. Python)
F2 ( File
| Opening images | Add an image and center it to XYZ) reads a file (stored in
C:\DATA\IMAFILES) that opens an image for point XYZ. When there is a solution
in XYZ, all images that view it are listed in
C:\DATA\IMAFILES\ with F8 command (Find images for a point).
CTRL-D reads an image to
the screen (max nine images, numbered 0 to 8). Header files are in C:\DATA\HDR\
F3 is for removing
images, all or one at a time - indexed 0-8.
F9 reads the DEM file
(c:\data\Hyytiala_DEM_2010.hdr) into memory. Takes some 5 seconds.
Ctrl + click (Zoom out) in an image, centered at clicked image position.
Shift + click (Zoom in) in an image, centered at clicked image position.
Alt + click (Pan / move) in an image, centered at clicked image position.
An image observation shows in metric xy image
coordinates (-.002995 m, -0.0003614 m) and pixel coordinates (column, row)
(4575.0 4587.0) in text boxes above the image window. If the "use"
box is active, that image observation (image ray) will be
used in ray-intersection (for 3D measurements, with CTRL-I commands)
CTRL-C clears all graphics
CTRL-A clears all image observations (text boxes, use:
check boxes)
There may or may not be a 3D solution (point). It shows in
"space intersection results". (2515070.93, 6860022.19, 141.23), here in KKJ-2/N60
elevation.
Keyboard buttons U, D, S, N, E, W move the solution
up, down, south, north, east, west. The step is 1 m by default. Ctrl-O opens an
option window, where it can be changed. Here
"North is down-left in the image" because it is a raw-aerial image
that reflect flying direction, not a rectified image.
CTRL-M centers all images to the 3D solution.
The xyz-solution is important - it is always the last solved or set 3D
solution. For example treetop monoplotting
will look for a new (next tree) treetop in a range z-values that are defined
with respect to the existing value of Z. If one measures a tall tree with top
at 200.00 m a.s.l. The next treetop must be within Z
= 190-210 m, or the solution will not be correct/or exist at all.
CTRL-Z - ask for DEM elevation, get xyz (solution) point's height with respect to
DEM.
Coordinates of Impivaara are x
(East) = 2515255.57 , y = 6859864.82, z
= 158.80
F12 opens a window for setting the xyz-solution manually - enter coordinates
F9 reads the DEM, read it
F8 lists the images that view Impivaara to
C:\DATA\Imafiles, press, get the number
F2 gives a list of possible images in C:\DATA\IMAFILES - select
2015_04_0097.txt
(You can start here, if there are *.txt files ready for the area in
C:\DATA\IMAFILES\)
CTRL-Z gives the height of the roof point above the DEM. 9.05 m
Set the monoplotting on. It is a little check
box in red.
Shift click zooms in, Ctrl click zooms out, alt click
pans.
If you click points in image - a tube is sent down - tube is centered around the image ray - the algorithm looks for the first lidar point that it sees in the tube. The camera-lidarpoint distance is applied and the xyz-solution is
along the camera ray at that distance. The routine prints the point height in
meters if a solution is found.
F1 plots the
LiDAR data (combined 2015 and 2016 data, LiDAR echoes, color by height) in that
hectare where the solution is. The height range is defined
by minimum and maximum. Here points with height from 5
to 20 m are superimposed.
CTRL-O opens an options window. Essential parameters are marked in red. Also
the plotting range and dot-size for the marker.
Using the height-thresholds it is easy to visualize tall trees (layers of LiDAR
data), here the range is 30 to 41 meters, with the
tallest tree being 39.3 m near Tapiola in Hyytiälä.
Keyboard command "P" plots all trees' tops saved in the in
c:\temp\for254_trees.txt to the aerial images. Coloring: red = pine, green = spruce, blue = broadleaved, yellow =
dead standing tree.
Then one mouse-clicks the treetops and presses keyboard button to save
an obvervation. 1= save a
pine, 2= save a spruce, 3 = broadleaved, 4= dead tree. The heights appear after
the solutoin of mponoplotitng
is found.
Pressing "P" shows the treetop-dots.
So, the work comprises zooming in and out (SHIT-click, CTRL-click),
panning (Alt-click), measuring points (pointer), plotting LiDAR (F1), clearing
the screen (Ctrl-C), pressing "P" for the trees already measured, editiung the treefile for
mistakes, c:\temp\for254_trees.txt. Changing
pplotting options with CTRL-O.
Having more than one image is beneficial. F2 opens them, press F8 for
listing the images for the XYZ-point in question. The images are in
C:\DATA\IMAFILES. F3 can be used to remove images –
all – or one at a time.
The observation file is simple, code, number,
species, X, Y, Z, height
Asema,1,1,2514973.91,6860180.98,162.81,15.95
Asema,2,1,2514980.52,6860175.80,164.12,16.10
Asema,3,1,2514990.15,6860181.02,167.56,20.36
Asema,4,1,2514981.71,6860184.13,167.54,20.30
Asema,5,1,2514976.84,6860185.35,164.09,16.38
Asema,6,1,2514978.64,6860189.16,166.64,19.38
Asema,7,1,2514968.88,6860183.73,164.86,17.26
Asema,8,1,2514967.22,6860179.26,158.90,10.77
Asema,9,1,2514966.40,6860173.80,161.40,14.14
...
New observations are appended to the end, when 1,
2´, 3 or 4 is pressed.
Zooming out and pressing "P" shows the overall progress