Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 40

Version 3.

42 Changes
Corrected some problems with GridMetrics related to the use of LAZ files (wasn't
working) and ouptut of topographic
metrics. Also fixed a problem with the scaling of LAS XYZ values when writing LAS
and LAZ files. Values were
changing slightly (on the order of the precision specified in for the scaling.

Version 3.41 Changes


Minor changes to a few programs. Fix for FUSION when using LAZ files and addition
of a warning that any sample dispay will be VERY slow when using LAZ
files.

Version 3.40 Changes


Major changes to the internals of most programs to use the LASzip.dll developed by
Martin Isenburg. Additional changes that help when processing LAS
point files that contain erroneous points (files or points that co not comply with
the LAS specification). A new option hase been added to Catalog
(/validate:MaxReturnNumber)
that helps find problems with LAS files.

NOTE: The LDA2LAS program can be used to manipulate LAS point files in much the
same way as the LAS2LAS program that is part of LASTools. The name was
left the same as in earlier versions of FUSION to prevent conflicts with LAS2LAS
when both FUSION and LAStools are installed on the same computer.

Version 3.30 Changes


Changes to several command line programs to add features or fix bugs. Most changes
affect a small portion of users. However, changes to
GridMetrics, CloudMetrics, and ClipData correct some problems with the behavior of
specific options and format of outputs that may affect more
users.

Version 3.21 Changes


Minor change to the status monitoring programs used with LTKProcessor generated
scripts. The status monitoring was not
working correctly (not at all). You can still load a file in LTKStatusMonitor using
the "Browse" button and show the status of a
running or completed job but the real-time monitoring was not working. This release
corrects this problem.

Version 3.20 Important changes


Modified the logic used to read LAS format files to read and write "extra bytes"
stored with each point record. This allows FUSION to work with
some files collected using Riegl scanners (previous versions could not read files
with "extra bytes" in the point records).

Version 3.10 Important changes:


Corrected a problem with column heading in output from CloudMetrics. The version of
CloudMetrics was outputting two extra values and there
was no corresponding column heading to identify the values.

Important changes:
In version 3.01, I added logic to almost all command line programs to check for
invalid command line switches. Prior to
this change, most programs would not report an error if you used an invalid switch.

This change was a hard one to test given that it affects all command line programs
and it is hard to try all combinations
of command line syntax. If you find any documented command line switches that are
reported as invalid, please let me
know ASAP (bmcgaughey@fs.fed.us). Include the command line used to run the program
in your email.

Output from Cloudmetrics changed in FUSION version 2.8, 3.0 and 3.01. If you run
CloudMetrics and append its output to an output file created
with an earlier version, the column headings will be wrong for the new data. In
addition, the order of the columns in the
output has changed so any applications or analyses that rely on the column order
will need to be modified to work with
the new output. Finally several new columns have been added (actual columns added
depends on command line options).

Output from GridMetrics also changed in FUSION version 2.8, 3.0 and 3.01. The
column order is different and metrics for both elevation and
intensity are computed and output in a single run. Any applications that rely on
the column order will need to be
modified to work with the new output. Finally several new columns have been added
(actual columns added depends on command line options).

All command line programs that produce point files have been modified to output LAS
format files when all of the input dta files are also in
LAS format. Previous version output LDA format files. The following programs were
changed: ClipData, MergeData, FilterData, FirstLastRetrun,
GroundFilter, PolyClipData, and ThinData. All of these programs provide an /lda
option to output data to LDA format in case other applications
need this format. The LAS files produced by these programs have all the original
information from the source files (point records are complete)
and retain the projection information and other variable length records of the
source files. This change allows you to mix FUSION's tools with
other point cloud analysis tools without having to convert data formats or loosing
information. FUSION could not be updated to save LAS sample
files because it manipulates the fields for each point based on the sample options.
The same manipulations could not be done if writing LAS
format files.

***********************************************************************************
*
3/28/2014 FUSION 3.42 release
***************************************************
***********************************************************************************
*

3/28/2014 GridMetrics V3.37


Fixed a problem when using LAZ files. GridMetrics was reporting a "File access time
delay loop" error when using LAZ files. The problem
was related to some code cleanup prior to the last release.

3/24/2014 PolyClipData V1.52


Fixed a problem when outputting .LDA files using the /lda option. Program was
crashing.

3/18/2014 all programs that write LAS data files


Modified the calculation used to scale coordinate values in output LAS files. This
version rounds the scaled integer values to match the
precision specified in the LAS header. Previous version truncated the values
resulting in a slight difference between input and output coordinates.
Also modified the behavior of the /precision option to allow increasing the
precision represented in a file. While the program allows this,
nothing is gained by increasing the precision since the input data is less precise
than the output data. Previous verions did not allow you to
increase the precision.

2/28/2014 GridMetrics V3.36


Corrected a problem where a topographic metrics file was being produced when there
were no points in the tile. The header for the file
contained invalid values for the number of rows and columns and caused CVS2GRID and
MergeRaster to fail. Now no topographic metrics
file is output unless there are points within the processing area

***********************************************************************************
*
1/28/2014 FUSION 3.41 release
***************************************************
***********************************************************************************
*

1/23/2014 FUSION V3.41


Modified file open dialog when adding data files to include compressed LAS (LAZ
format) files and added a warning that using LAZ files
will result in very slow performance when extracting and viewing samples.

Also added beter format detection when adding data, hotspot, and POI files.
Previous logic could end up with the wrong file type leading
to irregular behavior and crashes.

1/22/2014 GridSurfaceCreate V1.96


Fixed a problem when using LAZ files. The command line parsing code was trying to
verify that data files existed and it attempted
to open LAZ files before the LASzip.dll was loaded. The result was an error message
that indicated that the data file(s) could
not be opened and the program terminated.

1/15/2014 GroundFilter V1.71


Minor documentation change for the CellSize parameter. This cell size if for
intermediate surfaces used while filtering the points. It is
not the cell size for the final surface model. The final model will be created from
the set of filtered ground points using GridSurfaceCreate
or TINSurfaceCreate.

Added the /extent and /trim options to allow filtering for a specified area.
Ideally the extent will be larger than the trim area to help
provide continuity when filtering data in multiple tiles and to minimize edge
artifacts in gridded surfaces produced from the bareground
points. The extent area is used to select input points and the trim area is used to
limit output points to the specified area.

1/6/2014 MergeRaster V1.31


Added reporting of output file and improved error reporting when input files don't
exist or a wildcard specifier doesn't match any files.

Also added the /compare option to report when adjacent input grids have different
values in overlapping cells.

***********************************************************************************
*
12/16/2013 FUSION 3.40 release
**************************************************
***********************************************************************************
*

10/31/2013 LDA2LAS V1.30


Added /class option to help when cleaning LAS files. This allows you to output only
points with specific classification values. Most often
the /class option will be used to remove outliers (class=7).

10/30/2013 CSV2Grid V1.34


Added error message when output file can't be opened.

10/21/2013 Catlog V2.11


Modified the logic used when point files contain only a single point. Such files
cause problems in the calcualtion of point density
since a since point doesn't have an extent (or the extent has no area). Point files
with a single point (or no points) are excluded from
the reports and images products produced by Catalog.

9/25/2013 Catalog V2.10


Added the /validate option to produce a summary of all "problems" with LAS input
files. This option is useful when you run into
acquisitions of individual data files that fail during processing tasks. The
information provided in the validation report identifies
files that do not comply with the LAS specification. This includes tiles that have
points that are outside the extent defined in the
file header and points with invalid GPS time. Both of these problems can indicate
issues that should be addressed by the data provider.

9/24/2013 ClipData V2.51


Added the /cleanlas option to output only points that conform to LAS specifications
(through LAS version 1.3). This option eliminates points
outside the extent specified in the LAS file header, points with invalid GPS times,
points with return numbers <= 0 or > 5, and points
flagged as withheld.

Fixed a problem with some of the status information reported when using the
/verbose option. Messages were not being output for input files
that were not indexed.

9/16/2013 Catalog V2.02


Modified the CSV output when counting returns. Moved the return count columns after
the point density and total number of points.
This allows the catalog file to be used as input to other programs.

9/13/2013 PolyClipData V1.50


Changed the logic used when clipping using some of the polygons from a shapefile.
The old logic tested the extent of each point tile
against the bounding box of the shapefile to see if it needed to scan the file
looking for points in the polygons. The new logic only
tests using the extent of the polygons being clipped. This change significantly
improves performance when clipping of few polygons from
a shapefile with lots of polygons or when clipping from a shapefile that covers a
large extent compared to the extent of the polygons
being clipped.

8/27/2013 FilterData V1.40


Modified the default number of points used for the minimum and maximum filters to 1
instead of 3.

Major change to logic used to write points when using the minimum and maximum
filters. The new logic removed the need to jump to and read
specific points in the input files. This was causing very poor performance when
using compressed files for input. The new structure seems
to run about 10X faster than the old for non-compressed files and even faster when
using compressed files.

8/15/2013 - 10/18/2013 All programs that read or write LAS data


Added support for the LASzip.dll developed by Martin Isenburg to read and write LAS
and LAZ files. To use the library you simply need to copy
it to the same folder where FUSION is installed. If the library is present, it will
be used. If it is not present, the older code that does not support
compressed LAS data will be used. Use of the /nolaszipdll option in any program
will suppress loading of the library and will remove support
for compressed LAS data for that instance of the program.

I also added code to all programs that read LAS data to ignore parts flagged as
"withheld" in the LAS point records. According to the definition of
"withheld" in the LAS specification, these points should not be used in processing.

8/15/2013 IntensityImage V1.22


Correcteed a problem when using the /jpg option. Intermediate files were being
saved with the .jpg extension but in BMP format. This
was causing a crash when the intermediate images were read back to create the final
image.

8/15/2013 ClipDTM V1.33


Changed to report details for output file and added output of the final (possibly
adjusted) extent when using /verbose.

8/13/2013 GridMetrics V3.35


Modified the logic used when computing topographic metrics to expand the extent of
the ground surface used for the calculations
to cover the full extent of the area defined by the larger of a buffer around the
extent for metrics and the area defined by the
extent for metrics and the topogrphic analysis cell size. Previous versions only
considered the buffer and could end up computing
incorrect topographic metrics when the topographic cell size was larger than the
buffer.

7/18/2013 ClipData V2.44, GroundFilter V1.64, FilterData V1.33, FirstLastReturn


V1.12, MergeData V1.23, PolyClipData V1.45, ThinData V1.43, LDA2LAS V1.12
Changed the way the extent of the output point cloud is computed when writing LAS
format. Previous version used the actual coordinates
represented as floating point numbers to compute the extent. Now the extent is
computed using the scaled coordinates (scaled coordinates are
stored in the file). This should eliminate warning when lasinfo (lastools) is used
to examine the file header.

6/14/2013 PolyClipData V1.44, ClipData V2.43, FilterData V1.32, FirstLastReturn


V1.11, GroundFilter V1.63, MergeData V1.22, ThinData V1.42
Added the /precision option to allow users to specify the scaling factors used when
writing LAS output files. The normal behavior is
to scan the input files and use the smallest scaling factor for the output.
However, I ran into some files where the scaling had been
computed to maintain 9 digits of precision and this caused problems for the signed
4-byte integer type used to store the XYZ values.
I limited the scaling to 0.00001 by default but you can override this using the
/precision:scaleX,scaleY,scaleZ option. For most data,
scale factors of 0.01 or 0.001 are sufficient to maintain the precision of the
laser instrument.

5/28/2013 All command line programs


Added the /locale switch to control use of locale-specific numeric formatting for
input and output. This option controls the thousands and
the decimal separators for all ASCII text output from the command-line programs.
When /locale is used, programs adopt the conventions
for the location maintained by Windows (regional and Language options in the
control panel). Use this switch when you are having trouble
reading ASCII data and you suspect that the data may be using a comma as the
decimal separator.

5/22/2013 DTM2ASCII
This is not a change but a note about program behavior. For almost all
applications, you should use the /raster option in DTM2ASCII to prevent
shifts of 1/2 the cell size when moving data between the PLANS DTM format used in
FUSION and ASCII raster format used in GISs. I have received
several "bug reports" where users are seeing 1/2 cell offsets when converting data
to and from ASCII raster format and, in almost all cases, the cause
can be attributed to not using the /raster switch in DTM2ASCII.

5/22/2013 Several programs


Changed the precision when writing ASCII raster files. Some programs used 4 decimal
digits and other used 6 digits. All programs should no use 6 digits.
Also changed the precision of the NODATA value to use no decimal digits. This
should make ASCII raster files smaller when there are large areas with
NODATA values.

5/22/2013 GridSurfaceStats V2.12


Added /ascii switch to output surface in ASCII raster format with .asc extension.
The ASCII raster files are output instead of DTM format files.

5/22/2013 Canopy Model V1.84


Added /ascii switch to output surface in ASCII raster format with .asc extension.
The ASCII raster file is produced in addition to the .dtm file.
Also corrected the syntax displayed for /surface option. You cannot use a wildcard
or list of files as the output file.

5/3/13 PolyClipData V1.43


Corrected a problem with shapefiles and negative coordinates. The code used to
determine the bounding box for a polygon was ignoring
negative X values. This behavior was a carryover from support for other polygon
formats that indicated holes using a negative X value.

4/17/2013 ClipData V2.42


Modified the logic used when input data does not cover the sample area. Previous
version could appear to have run correctly without reporting an
error or producing an output file.

Also noted a behavior that should be documented...if you are using ClipData to
normalize data relative to the ground after an earlier clipping
operation (e.g. extent is 0 0 10000000 10000000), don't use /shape:1 (circular
sample) in the command line. If you do, you might end up in
a situation where the data in the input file is outside of the circle defined by
the artificially large extent.
***********************************************************************************
*
2/22/2013 FUSION 3.30 release ********************************************
***********************************************************************************
*

2/21/2013 LTKProcessor V1.98


Made a small change to the batch file generated when clipping and saving new data
tiles. Removed the "()" around the tile name as this
was causing trouble for the DOS command processor and breaking the test for errors
during the clipping.

2/21/2013 ClipData V2.41


Modified the logic when clipping samples with the /ground option to check to see if
any of the data tiles overlap the sample area before
creating a ground model. Previous versions did not check prior to creating a
ground model. This speeds up clipping for lists of samples
and for single samples.

2/20/2013 FUSION V3.30


Bumped the overall version number to do a new release. No changes to FUSION (2d
viewer) since version 3.22.

1/31/2013 GridMetrics V3.33


Corrected a problem with the cubic mean elevation metric for cells with no returns.
The NODATA value being written was
incorrect. -9999.9 was being written instead of -9999

1/29/2013 GridSurfaceStats V2.11


Added error trapping and message when input file can't be accessed or doesn't
exist.

1/18/2013 CloudMetrics V2.52


Corrected a problem with output when using the /firstreturn and /minht options. The
"Total return count" in the output
was the count of all first returns instead of all returns. Also changed the label
on the number of returns above the
/minht threshold to reflect whether or not only first returns were used.

1/11/13 Catalog V2.00


Corrected a problem with memory allocation when not creating all of the image
products. The size used to test if enough
memory was available for the image products was not ignoring image products that
were not being produced. The result was
a test for an extremely large image (array) and often the test failed so Catalog
would report that there was not enough
memory to vreate the image products.

11/16/2012 CloudMetrics V2.51


Corrected a problem where metrics for samples with very few points (too few to
compute most metrics but at least 1 point)
contained an extra column of data with a value of 0.0.

11/5/2012 LTKProcessor V1.97


Added option to force use of LDA format files when clipping new data tiles. When
this option is used, you must include the /LDA option
with any FUSION command line tools that produce point cloud output. There is no
advantage to using LDA format files and most users
will not use this option. If you have saved clipped tiles runs over 2 years ago,
they may be in LDA format so you will need to use this
option to reprocess the tiles using the option to "check for clipped tiles". If you
have recently expereinced problems with the tiling options:
"Compute tile arrangement using width and height" or "Compute tile arrangement
using Max returns", this version should correct these
problems.

Also made a small change to the logic that calculates the tile arrangement so it
does not compute an arrangement when the Cell size is 0.
This fixed an intermittant bug that locked up LTKProcessor with an error that you
needed to "enter a number."

11/5/2012 CanopyMaxima V1.43


Added output of 16 crown radii at end of tree records with the use of the /crad
switch.

10/30/2012 FUSION V3.22


Minor changes to logic when drawing data layers. Added display of file name
currently being drawn. Changed logic when re-drawing the
main display. There have been problems with inconsistent drawing of the backdrop
image and failure to erase the screen when zooming
or panning. The changes may cause more frequent redraws but should eliminate the
problems where the screen was not cleared and the image
was not redrawn.

10/29/2012 ClipData V2.40


Fixed a problem with the handling of GPS times (related to /timemin and /timemax).
I ran into some LAS files that had bad information
for the GPS time and the values were causing trouble with the logic used to
implement the new options in V2.39.

10/25/2012 MergeRaster V1.30 and other programs the use ASCII raster file
Fixed a problem when merging very small rasters or a set of rasters that included
very small rasters (2 rows by 3 columns). The logic
used to read the file headers was failing on the small files.

10/24/2012 CloudMetrics V2.50


Modified the logic used for outlier removal so it does not negate the effect of
/minht and /maxht options. Outlier removal
is now treated independently from /minht and /maxht. You can still specify options
that in incompatible. For example,
/minht:2.0 and /outlier:3,100 will omit returns with heights from 2.0 - 3.0.

10/16/2012 CanopyMaxima V1.42


Added terms to the search window size calculation to accomodate 4th and 5th order
polynomials.

10/16/2012 ViewPic V1.30


Modified the code that reads BMP images to work with path/file names longer than
128 characters.

***********************************************************************************
*
10/15/2012 FUSION 3.21 release ********************************************
***********************************************************************************
*

10/15/2012 LTKStatusMonitor V1.32


Made some changes to LTKStatusUpdate to fix a problem introduced in FUSION version
3.20. The status monitoring function was not
working correctly due to the release of some experimental code in the program used
to communicate status changes (LTKStatusUpdate).
Also modified the behavior when the enter key is pressed when the LTKStatusMonitor
window has focus. The new version does not
close the LTKStatusMonitor window.

10/15/2012 LTKStatusUpdate V1.1


Modified some logic along the way to use a run identifier as part of some work to
deal with multiple jobs running concurrently and
inadvertantly left the output of the identifier in the command passed to
LTKStatusMonitor. This was causing LTKStatusMonitor to
ignore the update commands ans show no progress.

***********************************************************************************
*
9/21/2012 FUSION 3.21 release *********************************************
***********************************************************************************
*
9/20/2012 Several programs
Modified the code used to read LAS format files to deal with extra data stored with
each return. Evidently the ability to include the extra bytes has been
"available" since version 1.2 of the LAS specification although there is no
documentation in the specification describing the feature. All of the FUSION
programs will be able to read LAS files with extra bytes of data associated with
each return. In addition, any programs that compy or otherwise write
LAS format files will preserve the extra bytes in their output.

8/22/2012 Catalog V1.99...experimental...LAZ support not included in V3.20


Added support for LASLIB to read LAS and LAZ files. LASLIB replaces the original
code I developed to read LAS files. The
change results in faster file reads (about 15%) for uncompressed files and adds
support for compressed LAS (LAZ) data.
Other formats are still read using my original code.

Corrected problem with the /newindex switch. The switch was not being recognized as
a valid option.

8/22/2012 GridMetrics V3.32...experimental...LAZ support not included in V3.20


Added support for LASLIB to read LAS and LAZ files. LASLIB replaces the original
code I developed to read LAS files. The
change results in faster file reads (about 15%) for uncompressed files and adds
support for compressed LAS (LAZ) data.
Other formats are still read using my original code.

8/22/2012 CloudMetrics V2.40...experimental...LAZ support not included in V3.20


Added support for LASLIB to read LAS and LAZ files. LASLIB replaces the original
code I developed to read LAS files. The
change results in slightly faster file reads for uncompressed files and adds
support for compressed LAS (LAZ) data.
Other formats are still read using my original code.

8/21/2012 ClipData V2.39


Added /timemin and /timemax options to allow cliping of LAS files based on the GPS
time for individual points. The values used for the option
are interpretted in the time units of the data files. The LAS specification allows
for GPS time to be expressed as weekly time (seconds since
midnight on Saturday) or as GPS time (standard GPS Time (satellite GPS Time) minus
1 x 10^9).
*****8/10/2012 FUSION...not for public knowledge
Did some experimentation with linker settings for both debug and release builds.
Added /NODEFAULTLIB:LIBC to the linker command line and
the warning regarding LIBC conflicting with other libs went away. Also changed the
jpeg library for release builds to match the one used for debug
builds (common/jpeg-7/libjpeg.lib).

8/6/2012 LTKProcessor V1.96


Corrected a problem when using a custom analysis extent. Tile corners and sizes
were not being calculated correctly when you had the "align
to cell grid" checked.

***********************************************************************************
*
5/16/2012 FUSION 3.10 release ***********************************************
***********************************************************************************
*
5/7/2012 GroundFilter V1.62
Modified the logic used to detect command line errors to do a better job with
invalid data files

4/12/2012 CanopyMaxima No version change


Updated the FUSION manual to reflect the method used to compute crown widths for
"trees" detect in CanopyMaxima. The previous description
did not correctly describe the logic being used.

3/30/2012 PolyClipData V1.42


Corrected a problems when using multiple polygons and putting all the points from
all polygons into a single file. 3/15/2011 "fix"
caused problems when using multiple polygons within a single shapefile but having
all output go to a single point file.

3/28/2012 PDQ V 1.91


Modified logic that assigns point colors using LAS RGB information to correctly
scale the color components. Previous versions
assumed the color components ranged from 0-255. Modifications scan the RGB colors
and figure out if the range is 0-255 or 0 - 65025.
The LAS standard does not specify the component range but allows a 16-bit value for
each of the red, green, and blue components.

3/26/2012 CloudMetrics V2.39


added /rgb switch to compute intensity metrics using red, green, or blue color
values from LAS version 1.2+ files
with RGB values for each return (point record formats 2, 3, & 5). LAS version is
not actually checked because
some LAS writers do not correctly output the format version.

Use caution when using the /RGB switch since the output columns for the Intensity,
R, G, and B metrics are the same. It
is very easy to mix outputs from runs intended to compute the metrics using the
color values with each other and those
where the actual intensity value was used to compute metrics.

3/26/2012 GridMetrics V3.31


added /rgb switch to compute intensity metrics using red, green, or blue color
values from LAS version 1.2+ files
with RGB values for each return (point record formats 2, 3, & 5). LAS version is
not actually checked because
some LAS writers do not correctly output the format version.

Metrics for the Intensity, Red, Green, and Blue color components are ouptut to
files labeled to indicate their content.

***********************************************************************************
*
2/7/2012 FUSION 3.01 release ***********************************************
***********************************************************************************
*

2/7/2012 LDV Version 1.62


Modified the tree measurement dialog to allow the use of the measurement line to
input tree height, height
to the base of the live crown, and crown diameter. Also added a checkbox to the
dialog to control this feature.

1/26/2012 ClipData V2.38


Added the /nooffset option to modifiy the offset stored in LAS file headers. The
goal is to produce an output point file
that cannot be located on the globe. This feature is necessary when you need to
have point clouds for locations that cannot
be released. (e.g. confidential inventory plot locations)

1/6/2012 GridMetrics V3.29


Modified the values output for metrics when there are no points in a cell. Previous
versions output 0 for some return count metrics
and -9999 (NODATA) for others. Starting with this version, all metrics have NODATA
values when there are no points in the cell.

Also fixed a problem with the counts of individual returns when there were 3 or
fewer returns in a cell. Previous version set all
individual return counts to 0. Starting with this version, the individual return
counts reflect the actual counts in the cell when there
are 3 or fewer returns in the cell.

1/5/2012 ClipDTM V1.32


Changed the signature included in the output DTM file. Previous versions had a
signature from a different program.

12/14/2011 Several programs


Corrected a problem when using the /class switch to compute metrics for points with
the specified LAS classification codes. Only values
from 0-15 were being processed correctly. The change ensures that values from 0-31
are processed correctly.

12/12/11 FUSION V3.01


Lots of changes to command line programs but not to FUSION/LDV. Biggest change to
command line programs is that they all output
LAS format files when working with LAS files as inputs. The LDA format is slowly
going away.

12/12/11 FUSION V3.00


Ongoing development version that was released to a few individuals (mainly research
collaborators). Never released via the FUSION
distribution web site.

12/12/11 ClipData V2.37


Modified the logic used to establish the offset for LAS output files to better deal
with the case where you
use an artificial extent to clip an entire input data file. The offset was being
set to the LL corner of the clipping
area which in many cases would be (0,0). the new offset in the LAS file header is
now the larger of the clipping area
and the origin of the input data.

12/8/2011 LDV Version 1.61


Special changes to zooming logic when using the CTRL-Left mouse button combination.
Added a small dot to the
center of the measurement marker disc.

12/6/2011 CSV2Grid V1.33


Added the /ndzero option to replace NODATA values (-9999.0) in the CSV file with
0.0 in the ASCII raster file.
This option requires a column that contains the value that will be tested to see if
the substitution should happen.
If the value in the "test" column is >= 0.0, then the substitution will occur. If
the value is < 0.0, the ASCII
raster file will still have NODATA for the cell.

11/29/2011 GridMetrics V3.29


Added an /nointdtm option to prevent creation of an internal DTM when processing
using the /grid, /gridxy, and /align options. For some
datasets, the creation of the internal model was resulting in a problem with the
metrics along the top and right edges of the data extent.
For most uses, this option is not needed. The case where problems arose involved a
small rectangular dataset and metrics computed using a relatively
large cell size. The internal ground model was being created with 1 extra row and
column but the extra row and column were not being populated
with valid elevations since they were technically outside the data coverage area.
As a result, the returns along the top and right sides
of the data extent were not being correctly adjusted for height above ground. This
caused the elevation metrics to have incorrect values
for the cells along the top and right sides of the extent.

11/16/2011 GridMetrics V3.28


Fixed a problem when computing strata metrics using the /strata or /intstrata
options. The decision to compute the strata metrics was being
made based on the number of returns above the minimum height for other metrics.
This resulted in bad metrics for any cells that did not have
enough returns above the minimum height to compute the "normal" metrics. The "bad"
strata metrics were actually the values from the previous
cell that had enought returns to compute the "normal" metrics. The same change was
not necessary in CloudMetrics since it only computes
strata metrics when there are more than 3 returns in the point cloud. When there
are 3 or fewer returns, 0s are output for the stata metrics.

8/31/2011 Gridmetrics V3.27


Changed the default behavior with ground models so that an internal (in memory)
model is not automatically created. In previous versions
an internal model was being created and this process was taking a very long time so
the overall processing times were going up by a
factor of 10. Still not sure exactly why processing was so slow but eliminating the
extra time needed to create the internal model
seems to speed up processing.

6/4/2011 CanopyModel V1.82


Modified the logic when using a specific extent for the canopy model to speed up
the processing. Previous version read through all
data tiles that overlapped the extent and reported the number of data points within
the extent. this information was not being used
for anything other than reporting so the logic was modified to count the number of
data points while the canopy surface was bring
produced.

4/27/2011 Catalog V1.97


Added /noclasssummary to turn off the option that creates a summary of returns by
LAS classification values. Only effective
for LAS format data files. Default is to always produce the summary but this
requires reading every data file and makes the
summary quite a bit slower.

4/13/2011 PDQ V2.0


Added /m command line option to allow multiple instances of PDQ and /s command line
option to synchronize multiple copies. To use these
options, you must start PDQ from a DOS prompt or batch file. Synchronization
includes to viewing geometry, point size, and focal length.

Also added "Clone PDQ" to menu to launch another instance of PDQ that is
syncronized with the current instance. The role of a particular
instance of PDQ is displayed in the lower right corner of the heads-up information.
The "master" role will control all other running
instances of PDQ and the "slave" role only listens and will not send viewing
updates to other instances of PDQ. It is possible to have
several instances of PDQ in the "master" role.

Also added code to use the correct icon for the window's title bar

4/11/2011 LTKStatusMonitor V1.3


Corrected the logic used to position controls when the window is resized to set the
correct positions for the "Browse" and
"Show tile status" buttons.

3/17/2011 GridMetrics V3.26


Fixed initialization problem with P05 and P95 layers when using the /raster option.
NODATA areas were getting the wrong value.

Added more logic to check for access to data files to help get around problems
opening data files while other activities on the
computer have locked the files or otherwise are preventing access. The new logic
will try to open the data file set several times
with a 10 second delay between each attempt. From experience, this should give
programs a chance to finish what they are doing with
the data file set. Most problems have been the result of virus scanning activities
on Forest Service-imaged computers so others
may not be having the problems with large processing jobs where a few tiles fail.

3/15/2011 PolyClipData V1.40


Modified to save LAS format when all input data are in LAS format. Added /lda
option to output LDA format. If input data
are not all LAS format, output format will be LDA.

3/15/2011 FilterData V1.30


Modified to save LAS format when all input data are in LAS format. Added /lda
option to output LDA format. If input data
are not all LAS format, output format will be LDA.
3/14/2011 GroundFilter V1.60
Modified to save LAS format when all input data are in LAS format. Added /lda
option to output LDA format. If input data
are not all LAS format, output format will be LDA.

Also changed output logic to only output parameter information when the /verbose
option is used.

3/14/2011 FirstLastReturn V1.10


Modified to save LAS format when all input data are in LAS format. Added /lda
option to output LDA format. If input data
are not all LAS format, output format will be LDA.

3/14/2011 MergeData V1.20


Modified to save LAS format when all input data are in LAS format. Added /lda
option to output LDA format. If input data
are not all LAS format, output format will be LDA.

3/11/2011 MergeRaster V1.20


Changed the logic used to test the alignment of input grids to the final merged
grid and the logic used to compute the number
of rows and columns in the merged grid. Previous versions had trouble with rasters
that had high precision cell sizes and could
compute the wrong extent and number of rows/coumns in the output. Noticed the
problem with cell sizes with 3+ significant digits
to the right of the decimal place. The precision of several calculations was
causing slight errors in the calculations and either
reporting that input files did not match to grid arrangement or incorrectly
calculating the number of rows and columns in the merged
grid and causing an error.

3/4/2011 ThinData V1.40


Changed default output format to LAS when using LAS-format input files. If not
using LAS-format input files,
output will be in LDA format. Added /lda option to output LDA format. If input data
are not all LAS format, output format will be LDA.

2/28/2011 LTKProcessor V1.93


Added option to check for clipped data tiles prior to doing a new clipping
operation. Clipped tiles must be in the working folder. Turning
on this option will help folks who clip new tiles and save the tiles for later
processing.

Also fixed a problem when aligning the tile grid to the cell size when computing
cell sizes using the number of returns. Previous versions
were not doing this correctly and would report an error with the alignment.

1/25/2011 ClipData V2.36


Fixed a problem when an invalid input filename was given on the command line.
Previous versions did not report an
error but simply terminated as if everything was OK without producing any output
file.

Also fixed a problem with the /ground switch...was not be recognized consistently

Changed the output format to LAS when working with input files in LAS format. Also
added the /lda switch to force
output of FUSION's LDA format although there is no reason to use LDA format. If any
of the input data files are
not in LAS format, the output file will be written in LDA format.

Modified code structure to use new common code for FUSION utilities.

1/14/2011 GridMetrics V3.25


Restructured code to provide better organization and make it easier to maintain and
distribute FUSION source code. Also removed
references to JPEG and TIFF image libraries (can be easily controlled using #define
INCLUDE_OUTLIER_IMAGE_CODE) to reduce the
executable size and eliminate the need for the image code in the public
distribution.

Added new options: /strata:[#,#,#,...] /intstrata:[#,#,#,...] /kde:[window,


multiplier]

Added new metrics: Canopy relief ratio, height strata (elevation and intensity
metrics), MAD_MED, MAD_MODE, #modes
from a kernal density function using the return heights, min/max mode values,
min/max range

1/14/2011 CloudMetrics V2.35


Restructured code to provide better organization and make it easier to maintain and
distribute FUSION source code.

Added new options: /strata:[#,#,#,...] /intstrata:[#,#,#,...] /kde:[window,


multiplier]

Added new metrics: Canopy relief ratio, height strata (elevation and intensity
metrics), MAD_MED, MAD_MODE, #modes
from a kernal density function using the return heights, min/max mode values,
min/max range

12/17/2010 Catalog V1.96


Added a summary table showing the number of points by LAS classification values.
The summary info is valid for only LAS format
files. If you use a mix of LAS and other formats in the same run, the summary
tables will not reflect the overall data set.

12/9/2010 PDQ V1.90


Added optional rangepoles to help establish scale in point cloud and surface
displays. Rangepoles can be a scaled to the data or
a fixed size. The rangepole height can optionally be considered when computing the
scaling for the data display. This allows you
to compare various point clouds or produce a series of images that can be directly
compared since the display scaling is controlled
by the rangepole height.

Rangepole display is controlled on the View menu and the options are on the
File...Rangepole options... menu

12/6/2010 CloudMetrics V2.34


Corrected some variable names to match those output in GridMetrics:
Elev InterquartileDistance changed to Elev IQ
Int InterquartileDistance changed to Int IQ
Changed the capitalization of some of the variable names. For the most part the
rule is that the first letter of the column
heading is capitalized and no other letter. If a word in the heading is an
abbreviation, it is capitalized. For example, CV for
coefficient of variation.
11/10/201 Several programs
Added logic to almost all command line programs to check for invalid command line
switches. Prior to this change, most
programs would not report an error if you used an invalid switch.

This change was a hard one to test given that it affects all command line programs
and it is hard to try all combinations
of command line syntax. If you find any documented command line switches that are
reported as invalid, please let me
know ASAP (bmcgaughey@fs.fed.us). Include the command line used to run the program
in your email.

11/10/2010 Catalog V1.95


Added command line parameter verification logic.
Added support for /class switch...previous version used /lasclass. /lasclass will
still work but users should use /class in any
new scripts. Also fixed behavior when doing LAS classification summaries. Previous
version were not limiting the summary to only
points with the specified classification values.

11/9/2010 Several programs...follow-up to changes made on 8/17/2010


Made some changes to the logic used when normalizing point data and surfaces using
a ground model. The new logic should
make any program that uses a ground surface much faster. In testing with
GridSurfaceStats performance was increased by
a factor of 50. Not all programs will show the same level of improvement but nearly
all programs will be faster by some amount.

11/3/2010 GridSurfaceStats V2.0


Added /grid, /gridxy, /align, and /extent switches to compute surface stats using a
specific extent.
This makes output from GridSurfaceStats more compatible with output from
GridMetrics

11/2/2010 PDQ V1.84


Minor change in the description of keyboard commands in the Help...About dialog.
"N" toggles
between using the intensity data to color returns. Previous versions indicated that
"N"
toggled between RGB using values and point elevation for coloring points.

11/2/2010 CloudMetrics V2.32


Added the /outlier switch to make the command line sytnax more consistent with
GridMetrics. The /outlier:low,high
switch has the same effect as using both the /minht:low and /maxht:high switches.
The values specified via the /outlier
switch will override the values specified with the /minht and /maxht switches.

11/1/2010 GridMetrics V3.23


Added /id:identifier switch to all a user specified identifier that is included in
the last column of the output data.
This is most useful when you want to combine output from a series of GridMetrics
runs into a single CSV file but you
still want to identify the metrics with a specific area. The identifier cannot
contain spaces.

10/28/2010 ClipData V2.34


Corrected documentation for the /return switch. The "F" option yields the first and
only return for a pulse
not the "first of many" as described in the syntax information.

9/7/2010 LTKProcessor V1.91


Modified the post-processing portion of the batch file to make the working
directory current before calling the post-processing
command. This would happen if running the entire batch file but if you only wanted
to run the post-processing, the change to
the working directory didn't happen correctly.

8/26/2010 PDQ V1/83


Added support for LAS files with RGB information for each point. PDQ will
use the RGB color to color the points. The intensity (N) and LAS classification
coloring methods will override the RGB colors when toggled on.

8/26/2010 FUSION V2.92 and most other programs


Added support for LAS format 1.2 and 1.3 with point record formats that contain RGB
color information.

Also added sample option in FUSION to color data points using the RGB colors from
LAS files.

Cleaned up display of last data clip at program start-up.

8/18/2010 ClipData V2.33


Modified the logic used when doing a single area to better handle a ground surface
model. If you were using
an "artificial" extent for the sample (sample includes all points in the input data
files(s)), the previous
version tried to create an internal model for the full extent. This version scans
the input data and creates
an internal model using the smaller of the extent of the input data and the sample
area.

Modified the logic that creates an internal model in memory so it only creates an
internal model when there
isn't enough memeory to hold all surface models in memory or the area of the sample
extent is 25% less than
the area of all surface models involved in the sample.

Also enhanced the logic used to handle ground models in memory...affects several
LTK programs

8/18/2010 LTKStatusMonitor V1.2


Increased the amount of text that can be displayed from the log file for an
individual tile from 64k to 128k

8/18/2010 LTKProcessor V1.9


Added commands to the tile processing batch file (when created using LTKProcessor)
to save the buffered tile corners
in string variable that can be used in the tile processing batch file after
parameters are shifted

8/18/2010 GridMetrics V3.22


Corrected a problem with the data extent computed when using the /class switch.
Previous versions used all data points
to compute the extent instead of using only points with matching classification
codes. In general, this won't have caused
problems except in cases where the classifaction code was linked to the spatial
position of the data points.

Also enhanced the logic used to handle ground models in memory...affects several
LTK programs

8/18/2010 CanopyModel V1.80 & GridSurfaceCreate V1.93


Added options to force a specific model extent and to align model with existing DTM
file (/grid, /gridxy, /align, /extent)
to match options in GridMetrics. In GridSurfaceCreate, added /maximum switch to use
maximum point elevation in the cell
instead of the average elevation of all points in the cell.

Also enhanced the logic used to handle ground models in memory...affects several
LTK programs

8/17/2010 Several programs


Enhanced the logic used to handle surface models (usually ground but not always) to
better deal with loading models
and creating a new model in memory when working with large models or areas.
Previous logic worked well but didn't
always do things in the most efficient manner.

8/13/2010 LTKProcessor V1.8


Added the ability to specify an analysis extent that is different from the overall
data extent. This way you can analyze
only a portion of the area covered by a group of data tiles. Also cleaned up the
behavior when you delete the last file
in the list of tiles. Some of the data summary values were not being properly
cleared.

8/11/2010 FUSION Version 2.91


Added support for images with 4 bands where the 4th band contains the information
needed to display
the image using false-color infrared. When you load such an image, you will be
given the choice
to display the image using false-color IR. You choice will be stored and loaded
from FUSION projects.

Fixed potential memory leak related to loading a stored project that contained
either a ground or canopy surface where
the surface file no longer existed. Previous versions allocated space for a 10 by
10 patch of data from the surfaces
even though the surface could not be loaded. This probably wan't causing any
problems for anyone but it needed fixed.

Added cursor info dialog to the View menu to show current location in a form that
can be copied. The position
displayed in the status bar can't be copied. To copy values from the dialog, Hold
the Ctrl key to "lock" the currnet
location. Then move the mouse to the position dialog and copy the desired value(s).

8/2/2010 LDV Version 1.60


Corrected a problem when displaying the ground surface with transparency. If you
changed the transparency,
turned off the surface, and then loaded a new sample LDV would crash when you
turned on the surface again.

***********************************************************************************
*
7/7/2010 FUSION 2.90 release
*******************************************************
***********************************************************************************
*

6/2/2010 ClipData V2.32


Modified test for the correct number of command line parameters. Previous versions
were checking for
too few parameters.

Added ability to clip several samples in a single run and greatly improved the
performance when clipping
several small areas from large acquisitions. See the syntax for changes.

Modified the logic used to count points for which the DTM provided a valid
elevation. When using /dtm
with other options (/class or /return), the counts were not done correctly.

Added logic to interpolate a ground DTM for the exact sample area. This generally
leads to more efficient
processing compared to loading a large model into memory for a small sample. This
also speeds things up when
doing multiple samples on the same command line.

5/27/2010 GridMetrics V3.21


Corrected a problem with the L moments metrics. When setting NODATA values for
cells with too few points to compute
metrics, the L moment metrics were not correctly set to NODATA values. In general
this should only affect runs with very
sparse point data or with very small cells.

5/24/2010 DTM2TIF V1.2


Added /mask switch to produce a mask image showing areas with valid data values. In
the output image,
a value of 255 indicates a cell with valid data and a value of 0 indicates a cell
with invalid
data (NODATA value)

5/24/2010 CSV2Grid V1.31


Modified the logic used to parse values from columns to be a little more efficient.
CSV2Grid runs slower as the
column gets large due to the time needed to parse the values in columns up to the
requested column. This change
removed some calculations and tests that were being performed for all columns. The
net result cuts the conversion
time in half (less for low column numbers and more for large column numbers)

4/27/2010 FUSION V2.81


Correct a problem using ARC generate files for points as POI layers. The points
were not being drawn. Added the option in the POI file
types for point files and line/polygon files. Both types use the /gen or /arc
extension so you need to make sure you pick the right type
or the layers will not draw correctly.

4/16/2010 GridMetrics V3.20


Modified the logic that handles ground models to use the CTerrainSet class and
changed the behavior of this class
so it creates an in-memory ground model covering the analysis extent. This makes
for more efficient ground model
handling when individual ground models are large and multiple models are needed to
cover the analysis extent (which
is usually small compared to the individual ground model extents). This should
prevent situation where ground models
are used from disk while interpolating ground elevations for individual returns.

4/15/2010 Several programs


Improved ground model handling logic so that it builds an internal model using
several individual DTM files and then uses the model to
interpolate values for returns instead of loading several models into memory. This
cuts down the amount of memory needed when
working with small areas (compared to the size of individual DTM files). This also
lets LTKProcessor compute the amount of memory
needed to provide ground elevations for a specific extent to help when processing
large data blocks. this logic change affects all programs
the work with ground surface models.

4/7/2010 ClipData V2.31


Modified logic when using zmin and zmax and a DTM so that any points outside the
DTM area or in holes
within the DTM are omitted from the sample.

4/6/2010 LTKProcessor V1.7


Added several options to better work with individual tiles. Logic to process a
single tile is built into the master
batch file. Run a single tile by specifying the full tile identifier on the command
line for the master batch
file. Run the post-processing batch file by specifying POST on the command line for
the master batch file. The
pre-processing batch file is always run. You can also restart a processing job by
using RESTART and the tile name
on the command line

Added option to create a log file for each processing tile. This is used in
LTKStatusMonitor to display tile processing
status information.

Changed the default state of the "Align to cell grid" checkbox to TRUE

4/5/2010 GridMetrics V3.12


Added support for /minht switch (same meaning as /htmin switch) to prevent mishapes
when using command line options
from CloudMetrics

4/5/2010 CanopyModel V1.74


Added better reporting when a data file can't be opened (either doesn't exist or is
locked for some reason). Previous
version simply reported that there were no data points but did not mention that the
file couldn't be opened.

3/29/2010 CSV2Grid C1.30


Minor correction to display run header information (program name, command line, and
start time). Previous
version did not display this information.

***********************************************************************************
*
3/15/2010 FUSION 2.80 release **********************************************
***********************************************************************************
*

3/11/2010 CloudMetrics V2.30


Added file title to output as a separate column from the filename. This helps when
the point data files are named
using a meaningful name (such as plot identifier). The /id option also provides an
identifier for each line of data
but only works with numbers in the file name. This new column contains the full
file name.

2/25/2010 LTKProcessor V1.6


Added "Add list" button to add data files from a text list.

2/19/2010 CloudMetrics V2.20


Changed /htmin to /minht to match GridMetrics. /htmin is still recognized but not
documented. Added /maxht
option to better match GridMetrics. In practice, it is best to use this option when
clipping data samples with
ClipData and then simply use CloudMetrics to compute the metrics. However, some
analysis processes are better served
when you can use this option with CloudMetrics (e.g. computing metrics using height
slices via /outlier).

2/19/2010 MergeDTM V1.40


Added hole filling logic for final merged model. Only works when entire model can
be loaded into memory.

2/18/2010 GridMetrics V3.11


Added /extent switch to force output to align with a DTM file but still adjust the
output extent to be an even multiple of the grid cell size.
This addition is very similar to the /align option but with /align, the output
origin and size are not adjusted to align with a multiple
of the cell size. You can use this option when computing metrics using data tiles
along with the /buffer option to eliminate edge
effects in the merged rasters of metrics.

2/3/2010 CloudMetrics V2.10 & GridMetrics V3.10


Added code to compute L moments and moment ratios. Added 14 columns to output (7
each for elevation and intensity values).

1/13/2010 FUSION V2.8


Changed the logic used to draw tile outlines when displaying raw data to read the
extent info from the LAS header when an index
isn't available. The tile is drawn with an "X" when the index is present and an "X"
and a "+" when it is not. Since most folks
are now working with LAS data, this will produce a better display prior to
indexing. This might be a little misleading because the first
sample that is attempted will trigger indexing of all data files but at least you
can see the data coverage.

Added additional logic to speed up samples when using LAS format files or any
indexed data file format (LDA). New logic does a much
better job of figuring out which tiles should be used to build the sample before
reading the index or data. The first sample done
in FUSION with a given set of data tiles will be slower but subsequent sample are
much faster.

Corrected problems in the sample options dialog that allowed range truncation when
coloring by pulse number and LAS classification
codes and disabled color controls when coloring by LAS classification codes.

Corrected a problem when coloring using the abs(nadir). There was a scaling problem
that caused intermittent crashes and incorrect
coloring of the points

12/10/2009 CSV2Grid V1.21


Modified the behavior with NODATA values to recognize the -999900.0 that
GridMetrics was incorrectly putting in cells
with no returns above the height cutoff value. CSV2Grid now changes the -999900.0
value to -9999.0

12/10/2009 GridMetrics V3.01


Corrected a problem that was causing cover values for cells with too few points to
be set to the wrong NODATA value.
(-999900.00 instead of -9999.00). This was causing problems in ArcInfo.

12/8/2009 DTM2ASCII V1.3


Added /raster switch to move origin from center of lower left cell to lower left
corner of the cell. This facilitates using the
DTM format for "raster" data where the point value represents the attribute for the
entire cell instead of a point sample.

12/4/2009 GridSurfaceStats V1.8


Modified the logic used to allocate memory for temporary arrays to allow larger
arrays and to be more robust. Also
modified the logic so that larger areas can be processed. The large areas are
divided into vertical strips to cut down
the size of the high-resolution array needed for intermediate surface area and
volume calculations.

11/25/2009 GridSurfaceStats V1.7


Modified the output surface to use the same origin as the input surface. Previous
versions added 1/2 the cell width
and height to get the origin. Also made the output area 1 cell wider and 1 cell
taller to make sure the output covers
the extent of the input surface.

11/25/2009 CanopyModel V1.73


Corrected a problem when using a ground surface to filter outliers but not to
normalize the point elevations. This feature
wasn't producing a good canopy surface model.

11/24/2009 Several programs


Corrected a problem when creating .dtm files using 2-byte integers for the
elevation values. Any model created with more rows
than columns were likely to cause problems either when created or when read. This
problem was created 8/12/2009 and
the affected programs were never released as a formal FUSION version. Hence, this
problem should not cause any problems
for almost all FUSION users.

11/24/2009 CanopyModel V1.72


Corrected problem with the logic used to create the return count .dtm file.
CanopyModel was crashing just after the
file was created. The return count file could be read but had some problems in its
header.

11/18/2009 LTKProcessor V1.5


Modified the logic used to test for grid cell, tile size, and buffer alignment.
Added option to load all LAS, LDA files from a folder
(instead of selecting specific files). This addition also includes the ability to
specify a "custom" filter to load any file
types (must be a supported format).

Many other changes to streamline interface and use better error trapping in the
processing batch files.

11/13/2009 CanopyModel V1.71


Changed logic when using ground model to compute canopy heights. When the canopy
points have no valid ground elevation
the canopy model is set to NODATA. This should eliminate the "wall" around the
edges of the data block

11/13/2009 GridSurfaceStats V1.6


Modified logic used with ground surface model (/ground switch) to accept more than
1 model.

Also changed logic when using a ground surface to normalize elevations to insert
NODATA values when the area of
the surface is outside the ground model or the ground model doesn't have a valid
elevations for a cell in the surface.

11/12/2009 DensityMetrics V1.31


Modified the logic used when a point is outside the coverage area of the ground
models. Previous versions used the
point with its true elevation so the max height outputs potentially had
spikes/walls around their edges. The change
removes the spikes and makes the outputs much cleaner.

Added support for the /grid, /gridxy, /align, /buffer, and /cellbuffer switches.
Behavior is the same as GridMetrics.

Also added the /slices switch to allow specification of custom height breaks for
slices.

11/12/2009 Catalog V1.94


Added better error trapping for memory allocation related to creating the image
products. This should help when processing
large areas. Previous version would fail without an error message or at least
without a useful error message.

10/30/2009 SurfaceSample V1.2


Added /sri:dist.latitude switch to compute solar radiation index (SRI) and other
topgraphic attributes for the input point locations.
SRI is computed as described in Keating, K. A.,P. J. P. Gogan, J. M. Vore, and L.
R. Irby. 2007. A simple solar radiation
index for wildlife habitat studies. Journal of Wildlife Management 71(4):1344-1348
except the range is modified from the
original range of -1.0 to 1.0 to a range of 0.0 to 2.0. When /sri is used the
elevation, slope, aspect, profile and plan curvature
and SRI values are output for each sample location.

10/26/2009 LTKProcessor V1.4


Added new logic to produce a new analysis arrangement based on a pulse density
layer (typically produced using the
Catalog utility) and made several other changes including making the button to view
the data file arrangment actually
display something.

10/23/2009 FilterData V1.20


Fixed problem using min/max filters and LAS format files. Resulting file was
garbage.

10/23/2009 Several programs


Modified the logic used to read ASCII text files to work with files with long lines
(more than 1024 characters in
the first line of the file). Previous logic could not identify the end-of-line
sequence correctly if the 1st line
of the file was longer than 1024 characters. This change was needed as the headers
in the output from the latest
version of GridMetrics is longer than 1024 characters.

10/16/2009 GridMetrics V3.00


Modified logic so intensity metrics and elevation metrics are computed using a
single run of GridMetrics Output is
maintained in separate files and the cover values area only saved in the file with
elevation metrics. The /nointensity
switch was added so you can compute only the elevation metrics. Fuel model
application only happens on the pass
when computing elevation metrics. The /intensity switch was removed and testing for
combinations of /fuel and
/intensity were disabled.

Also changed the order of the columns int the CSV output and added several new
metrics so the output from GridMetrics
matches output from CloudMetrics

Added all the new variables to the /raster switch so you can produce a DTM or ASCII
raster firl for specific metrics.

Added /topo:dist,lat switch to compute topographic attributes using the ground


surface model. A new grid is interpolated
with cells that are dist- by dist- units. Latitude is assumed the same for the
entire project area.

Modified logic used to create file names for raster ouput (/raster switch) when
producing ASCII raster files to use the
extension ".asc" instead of ".dtm"

10/13/2009 MergeDtm V 1.32


Fixed a problem when a list file is used to specify DTM to be merged and the list
only contains 1 file. The numeric
type used to store the data (elevations) in the merged model was being set to 2-
byte integer regardless of the type
used for the single model. The new version sets the storage type to match the
single model.

9/16/2009 CloudMetrics V2.0


Modified the logic used to compute metrics related to cover. Now the /above:#
switch also triggers calculation of the
proportion of returns above the mean and mode elevations (or heights) and the cover
value using all returns (instead
of only first returns).

Also added columns for the number of returns by return number and the point counts
used for the cover calculations.
Cleaned up variables computed and output
+removed median and duplicate 50th percentile columns (median is the same as 50th
percentile and this value
was output 3 times in the file)
+added coefficient of variation
+re-ordered percentile values...moved 25th and 75th percentile values into sequence
of other percentile values

Also added /first switch (deos the same thing as /firstreturn switch) to maintain
consistency with GridMetrics.

9/9/2009 Several programs


Added /class switch to facilitate using only specific returns from LAS data files
(defined by the classification value).
This option was previously added to a few LTK programs. This revision adds it to
most of the programs that work with
point data.

9/9/2009 GridSurfaaceCreate V1.92


Added /class:string switch. This replaces the /lasclass:# switch but the
/lasclass:# switch is maintained for backward
compatibility. /class allows more classification values and is consistent with all
other LTK command line programs.

9/8/2009 Cloudmetrics V 1.90


Added the /alldensity switch to compute cover metrics using all returns instead of
only first returns. This was added to
make CloudMetrics behave like GridMetrics (which also has the /alldensity switch).
This option affects the original cover
metric as well as the new relative cover metrics (cover above the mean and mode
height values.

8/25/2009 Several programs


Added logic to better deal with quotation marks in command line arguments and
switches. Now you can surround a switch
that has a parameter after the ":" with quotation marks (used when a file path or
name contains spaces) like this:
"/ground:my ground.dtm"
or you can simply surround the file name by quotation marks like this:
/ground:"my ground.dtm"

8/21/2009 FUSION V2.73


Minor change to incorporate latest JPEG images support library from the Independent
JPEG Group's JPEG software. I didn't
see any major things fixed since the old version of the library but thought I
should keep current.

8/19/2009 Catalog V1.93


Added standard deviation of all return and first return densities over the entire
dataset to the HTML output. These statistics
are only available when either the /density and /firstdensity switches are used.

Also changed behavior when creating image products using first returns
(/firstdensity and /intensity). Some LAS files do not
contain valid return numbers. For such files, return number 0 is considered a first
return. This lets Catalog create images
using data that has no valid return numbers. HTML output has extra notes when
Catalog detects return numbering problems.
8/12/2009 Several programs (all programs that work with .DTM files)
Improved the error trapping when loading data into memory. this should make this
process much more robust. Previous versions
of several programs would crash with a cryptic error message when tere were
problems loading a model. The new code should
at least provide some useful information when things don't work. In many cases,
programs will default to use the .DTM file
from disk when loading the model into memory fails. The new code will make this
process more reliable.

8/10/2009 GridMetrics V2.90


Added new metrics: proportion of first returns above the mean elevation/height and
proportion of first returns above the mode
elevation/height value. The new metrics are produced in the standard output CSV
file and are available as options to the
/raster switch. Also changed the output of cover metrics in the CSV output to range
from 0 to 100 instead of 0 to 1 to match
the output from CloudMetrics.

7/28/2009 Catalog V1.92


Fixed problem when the report file given on the command line could not be opened.
Previous versions crashed when trying
to create the HTML report file if the CSV file path was not valid.

Fixed minor reporting issue when index files exist and /countreturns is specified.
The index is not used when /countreturns
is active but the old message stated incorrectly that the index failed.

7/23/2009 GroundFilter V1.50


Added /class switch to facilitate using only specific returns from LAS data files
(defined by the classification value)

7/23/2009 DensityMetrics V1.30


Fixed problem reading list files with a blank line at the end of the file. Previous
version would hang. Added /class switch
to allow use of specific returns from LAS data files.

7/21/2009 Cover V1.5


Changed logic for ground surface models to allow multiple models. Added /class
switch to allow use of specific returns from
LAS data files

7/20/2009 CanopyModel V1.6


Changed logic for ground surface models to allow multiple models. Also changed
behavior when there is a problem with the
ground surface model (using /ground switch). Previous version created the model
without normalizing relative to the ground model.
The new behavioir is to abort since user obviously wanted to normalize or else they
would not have used the /ground switch
in the first place. Added /class switch to allow use of specific returns from LAS
data files.

7/14/2009 ClipData V2.21


Modified the logic used to figure out if a data file contains points in a sample to
work better with LAS files that are not indexed.

7/14/2009 Several programs


Fixed problem reading list files with a blank line at the end of the file. Previous
version would hang.

6/10/2009 CanopyModel V1.5


Added /surface switch to allow outlier filtering based on height above ground while
creating canopy surface models where
the resulting surface is the elevation at the top of the trees. When /surface is
used in conjunction with /outlier and
/ground, point elevations are normalized using the ground surface elevation and
then tested against the outlier parameters
to see if they should be used for the final surface. When /oulier and /ground are
used without /surface, the resulting surface
is based on height above the groudn surface. The /surface switch is ignored unless
the /outlier and /ground switches are
also used.

6/10/2009 FUSION V2.72


Increased the maximum number of data files that can be included in a FUSION project
from 512 to 2048.

6/10/2009 ASCII2DTM V1.2


Modified the conversion logic so that the PLANS DTM files produced by ASCII2DTM for
grids that use floating point elevations
are stored using 4-byte float types instead of 8-byte double types. This cuts the
model storage size in half. The precision
offered by the 8-byte double type is not needed as GRID files in ArcInfo generally
don't have more that 4 decimal places. This
change also affects all programs that use DTMs because the resulting models use
half as much memory when loaded.

6/8/2009 GridMetrics V2.8


Added the /class switch to specify the LAS returns used for metrics based on their
classification code.

6/8/2009 ClipData V2.2 GridMetrics V2.8


Modified logic used when selecting/omitting LAS returns based on their
classification code.
New logic is more efficient regardelss of how many class are specified in the
/class switch.

5/21/2009 ThinData V1.2


corrected problem with the size of the grid used during the thinning process.
Program was failing with some combinations
of density and cell size

5/7/2009 Catalog V1.9


Added /uselascounts switch to use return count from LAS file headers when
/countreturns is specified.
Terrascan does not populate these items with valid numbers so you have to check a
few of the data files
to make sure the header has valid numbers for the return counts. When you know the
headers have the
information, this option will speed up the processing (eliminates 1 complete read
of the data files).
Also changed prompt when scanning data file to count returns to include "file # of
#"

4/20/2009 PDQ V1.6


Added support for copying current image to the clipboard using the edit menu or
Ctrl+C or Ctrl-Insert.
4/14/2009 LTKProcessor V1.3
Modified logic to increase the number of files that can be added to the file list
from 1024 to 4096 and added better
handling when the user tries to add too many files to the list. In addition the
maximum number of files that can be
added at one time was doubled. The number of files added at one time depends on the
length of the file names and the
length of the path (folder name) for the files. If you have been using LTKProcessor
for projects with less than 1000
data files, you won't notice any changes.

4/10/2009 MergeRaster V1.1


Changed the behavior when specifying a list file on the command line. Original
behavior looked only for an extension
of ".txt". New behavior also check to make sure no wildcard character is included
in the list file name. The new
interpretation of "*.txt" is to expand the file specifier to find a files with an
extension of ".txt". The old behavior
would have been to read the "*.txt" as a list file and report the the file could
not be found or opened.

4/8/2009 FUSION V2.71


Added support for tiled TIFF images as backdrops. The tiling refers to the internal
storage method used in TIFF images.
Previous version simply gave a message that tiled images were not supported. The
new logic has been tested with 24-bit
images only.

3/13/2009 LTKProcessor V1.2


Modified logic that checks the alignment of the analysis grid and the cell size to
provide a warning when the user asks to align
things to the cell size and the tiles size and/or buffer size are not a multiple of
the grid cell size

3/13/2009 PDQ V1.5


Added option color LAS point clouds using the classification code for each return.
"L" toggles the coloring from the default
brown-to-green to color by return classification. The Help...about dialog shows the
colors and classification codes. Also
changed program name in the Help...about menu from fullwindow to PDQ.

***********************************************************************************
****************************
CHANGES RELATED TO OLDER VERSIONS ARE IN REVERSE CHRONOLOGICAL ORDER
***********************************************************************************
****************************
6/2006

Modified calculation of timestamp for detecting data file changes and validation of
corresponding index files. Version 2.20
and newer will fix older index headers for files on non-FAT formatted hard drives.
For other drives (including many external
USB or FireWire drives) the UpdateIndexChecksum.exe utility should be used to
update the index file headers to prevent
recreation of the index files.

7/19/2006
Fixed a problem with the hotspots that uses the path to the hotspot file if the
target file cannot be located

Added labeling to POI and other data layers

Added support for ARC generate polygon and point formats

9/4/2006

*****Released version 2.20

10/18/2006

*****Released version 2.50...internal release

Lots of changes to the command line programs. Added Catalog program to help with
QA/QC for new LIDAR acquisitions.
Added GridMetrics to compute a variety of statistics for large point clouds.
Enhanced PDQ data viewer to display DTM files
and support drag-and-drop for .LDA, .LAS, and .DTM files.

11/16/2006
version 2.51

Changed login in FUSION for detecting user activity and stopping a redraw. Problem
arises when you have large POI or
other data layers and you try to pan or zoom while the layer is being drawn.
WM_PAINT message gets sent before drawing
is stopped...eventually you get a stack fault or run out of graphics resources.
This may also solve some problems observed
when using a GPS unit linked to FUSION (not tested with the GPS).

Modified the image scaling logic to be more precise to prevent slight shifts while
panning and zooming

Added logic to preserve scaling after a print preview or printing

Added keyboard support in FUSION for panning (arrow keys) and zoom (+-)

Added zoom control using mouse wheel (only available when measurement marker is
off) use shift-wheel for fine control

Changed logic so that the graphics view in FUSION always has focus...this helps
with panning and zooming behavior

Changed default symbol type for POI polygon files to "None"

Changed logic so display of raw data, POI, Hotspots, and Trees is turned off if
underlying data for the
project is deleted (user removes data from the project)

2/26/2007

*****Released version 2.51...forsys website

4/4/2007
version 2.60

Modified DTM handling code to fix issues with hole filling, median filter and
average filter. These functions
were using more memory than necessary.

Changed wording on the Edit...Copy menu item.

4/2007-7/2007

Lots of changes to command line tools. Added IntensityImage tool to create better
images from intensity
data with contrast enhancement and automatic detection of the contrast range in the
data. The resulting
images are much better than those produced using the ImageCreate tool or the Tools
menu in FUSION. The
imporved logic will be incorporated into the old tools or will replace the old
tools.

6/12/2007

Modified clipping logic for images in FUSION so a sample that is outside the image
area does not cause
problems in LDV. Previous versions were creating an image that was a single pixel.
LDV would give an
"Out of memory" error when trying to work with this image. Now no image is created
when the sample area
is completely outside the image area in FUSION.

6/21/2007

Added the IntensityImage progam to create better images using intensity data.

6/29/2007

Increased the limit on the number of files that can be loaded into the raw data,
poi, hotspots, and trees
dialog with each press of the "Add file" button. The limit is based on the total
number of characters in
all the selected file names so the actual number of files that can be loaded varies
depending on the length
of the file names. Also made the same change to the dialog used when combining
several DTM files into a single
model.

7/20/2007

Fixed problem when loading a saved project that did not specify an image file.
Previous version crashed.

Added ability to include specific returns in the data samples and changed sample
options dialog to allow
user to select the returns to include. If user turns off all returns, FUSION will
always say there are
no points within the sample area.

Changed behavior when a sample has no data points. Previous versions did not save
the sample area so the
"Repeat last sample" button was disabled. Now the previous sample is saved and the
button is not disabled.
This allows you to change the returns included in the sample and repeat the last
sample even if there are
no data points in the sample.

8/1/2007

Modified FUSION to store temporary data files passed to LDV in the user's local
TEMP space. In secure computing
environments, most users cannot write to the directory where FUSION is installed so
FUSION cannot pass
a data sample to LDV. Version 2.60 writes the temporary data files to the user's
local temp space and deletes
all the temp files when it exits. If you need to use the temporary files
(tempdat.*), you will need to copy them
from your temp directory before exiting FUSION.

8/2/2007

Added File...Preferences dialog to provide access to FUSION options that had


previously been available only
in the registry. Also provided access to the parameters used to read a GPS receiver
connected to a serial port.
The COM port settings are stored a FUSION preferences and the coordinate system
information is stored with a
FUSION project. The GPS link allows you to have a moving marker in FUSION's display
to help with field
recconaisence. Support for GPS units is provided through COM ports only. If you
have a GPS receiver that
connects via USB, you will need drivers that redirect the USB data to a virtual COM
port. Such drivers are
usually available from the GPS manufacturer.

8/7/2007

Added the GridSurfaceStats command line program. GridsurfaceStats computes the


volume under and surface area
of a canopy surface model. Surface area is reported as the computed surface area
divided by the cell area.
The canopy surface area is being investigated as a measure of stand complexity.

8/16/2007

Added provision for "verbose" option to all command line utilities. Have not added
verbose output to most utilities
but will do this as time permits. Verbose output will include an indicator to let
the user know that the utility
is running (and not hung). Added short program descriptions to all command line
utilities that print along with
syntax information. This is to help users remember the function of each progam.

10/17/2007

Added MergeDTM and DTM2ENVI command line programs. Modified the logic used in
FUSION Tools...Terrain models...Combine...
menu to do a better job of checking available disk space and combine models faster.

10/23/2007

Changed behavior when exporting a DTM file to XYZ points. Previously, DTM cells
with no data were not output. Now
all cells are output. Cells with no data have a value of -1.0.
Added validation of database field when using the /shape switch in PolyClipData. No
validation was performed in
previous versions so the clipping process could fail without warning and after long
processing times.

11/1/2007

Added message indicating that conversion was complete when converting generic ASCII
data. Previous versions
indicated that the conversion was complete only when creating index files and
didn't clear the progress bar.

************************************************************
*****Released version 2.60...forsys website...12/4/2007*****
************************************************************

12/5/2007 CSV2GRID V1.1


Modified CSV2Grid to provide the correct description and describe the need for and
use of a header file.

12/6/2007 DTM2TIF V1.1


Modified DTM2TIF to remove description of /void in usage()...switch not used in
DTM2TIF

12/12/2007 DTM2TIF V1.1


Modified DTM2TIF to included output of a text file with scaling information for the
grayscale values

12/13/2007
Rebuilt FUSION as a DEBUG-enabled application. There are problems with the non-
DEBUG version included in the
12/4/2007 release. Mostly in the sizing of dialogs.

*************************************************************
*****Released version 2.61...forsys website...12/13/2007*****
*************************************************************

1/4/2008 DTM2XYZ V1.1


Added /noheader switch to suppress header line in CSV ouput.

1/11/2008 XYZConvert (no version #)


Added support for Puget Sound LIDAR Consortium data from 2000 for the Tiger
Mountain area in Washington State

1/15/2008 ASCIIImport V1.0


New program...converts ASCII text data files into FUSION's LDA format using a
format definition file created
in FUSION's Data conversion...Import generic ASCII LIDAR data... dialog. This lets
you interactively define the
correct format specifications and then use the command line tool to convert several
files.

2/4/2008 LDV V1.45


Modified logic used for point markers to change their size and the camera focal
length changes...goal is to
keep the point marker about the same size as user zooms in/out.

2/5/2008 FUSION V2.62


Fixed a problem with canopy and ground models. For projects with both a ground and
canopy mode, if you cleared
the ground model, the canopy model was also cleared and sometimes you received an
error when exiting FUSION.

2/14/2008 LDV V1.46


Fixed memory allocation error in individual tree segmentation code. Also fixed a
problem when counting returns
that fall within each basin (segment). This code is not available to public users
so this should not affect most
users.

2/15/2008 IntensityImage V1.1


Rebuilt IntensityImage as a debug-enabled application. The image created by the
non-debug version is incorrect.
It is generally a solid image using the void-area color.

2/22/2008 GridSample V1.0 & SurfaceSample V1.0


Added two new programs to sample values from DTM files. GridSample extracts cell
values using a "grid" or
"raster" interpretation and SurfaceSample interpolates values using a "surface"
interpretation. Both programs
read text files containing XY locations and output their results in CSV format.

2/29/2008 FUSION V2.63


Modified the Sample Options to allow the use of color classification rules whe
coloring by pulse number.
Previous versions gave the appearance that this could be done but FUSION would not
apply the rules.

3/3/2008 GridMetrics V1.8


Fixed problem when trying to process very large data sets...memory allocation
problem with windows
was causing the program to crash before it could produce a meaningful error
message. Problem seemed to
show up under windows XP and Vista but not Win2k. Added code to check amount of
available memory before
to allocate memory for the point list. This fix doesn't increase the processing
capability, it just provides
better error handling and gives a meaningful error message when there is not enough
memeory to process
the metrics.

3/4/2008 Several programs


Fixed a problem with the code that reads ASCII data files. If the lines in the file
were terminated with a
carriage return and a linefeed and the columns in the file were delimited with
tabs, previous code caused
problems and would hang indefinitely. This fix should prevent further problems.

3/4/2008 SurfaceSample V1.1


Added support for a pattern of sample points. Options are for evenly spaced radial
lines and equal-area radial
samples. Also added the noheader, novoid, and ID switches.

3/11/2008 FUSION V2.63


Added support for coloring return data using the classification code from LAS
format files. Also modified
the overall logic used to create color legends for LDV when using color
classification rules. Previous
version constructed a palette that did not use the color rules. This change results
in no legend when
using the rules.

4/2/2008 GridMetrics V1.90


Added gridxy switch to allow user to specify the lower left and upper right corner
of the area for which
statistics are computed. Previous version had the /grid switch that let the user
specify the lower left
corner and the width and height

Also modified logic that computes the extent of the grid to work correctly when the
upper right extent of
the data is an EXACT multiple of the cell size (either the horizontal or vertical
dimension). Previous
versions produced output files filled with NODATA values. This change may result in
output grids that have
an extra row or column of NODATA values on the top or right edges. Problems in
previous version occurred
most often when the grid cell size was specified with higher precision (more than 3
digits to the right
of the decimal) than the horizontal position in the LIDAR point data.

4/2/2008 ClipData V1.70


Modified logic so index files are not created by ClipData. Previous version always
created index files for
every data file involved in a clip regardless of the /noindex switch. ClipData will
still use index file
if they are present but it won't create them if they are not. Also added the /class
switch to allow
specification of LAS classification codes for points included in the subsample.
This makes it possible to
extract only points with specific classifications. For example, extracting bare-
ground points from an all-
returns file.

4/2/2008 ClipDTM V1.00


New program to clip a .dtm file using a user specified extent. The actual clipped
area will be rounded to
the nearest grid point outside the specified extent.

4/10/2008 CanopyModel V1.3, Cover V1.4, DensityMetrics V1.1, GridSurfaceCreate


V1.7, GroundFilter V1.4,
IntensityImage V1.2, XYZ2DTM V
Modified the logic used to set the extent of the grid output to ensure that the
grid covers all areas with
data points. Previous versions could have 1 too few columns or rows depending on
the precision of the
grid cell size and the precision of the LIDAR data XY position.

5/8/2008 ClipData V1.80


Added /index switch to create index files for the data sample. Also modified the
status ouput when an empty
sample file is generated and /zero switch is used.

5/13/2008 LDA2LAS V1.10


Corrected a problem with the total number of returns and the number of returns by
return number reported
in the LAS file header when all returns in the source file were labeled as return
0. Total returns was
twice the actual number of returns and the number of returns by return number were
all 0. This fix could also
affect other programs that create LAS data files (none of the other programs in the
public release create
LAS files).

5/15/2008 FUSION V2.64 and LDV V1.46


Modified logic used for tree models to use a non-numeric label and read a color
value for the tree crown
after the crown rotation. If the color value is omitted, the default crown color is
used (white for
conifer-shaped trees and yellow for rounded-top trees). Color values are specified
using individual red,
green, and blue components separated by commas. For example, 255,0,0 is red;
255,0,255 is magenta; and
128,64,0 is brown. Tree records with and without colors can be mixed in the same
file.

6/5/2008 CanopyMaxima V1.2


Added the /res option to control the resampling for the intermediate surface grids.
The default is to use
intermediate grids cell width and height 1/2 of the original (resampling by a
factor of 2). Using a value
of 1.0 results in intermediate grids that are the same size as the original canopy
model grid. Also modified
the logic so an image showing the loca maxima/minima is not automatically created.
Use /img8 and /img24 to
create 8-bit or 24-bit color images showing maxima and minima.

6/9/2008 GridMetrics V2.1


Added /align:dtmfile switch to force alignment of output data to the origin and
extent of the specified
PLANS format DTM file. This allows you to match the area described in the output
from GridMetrics to the
area represented by a .dtm file.

*************************************************************
*****Released version 2.64...forsys website...6/12/2008******
*************************************************************

6/26/2008 GridMetrics V2.2


Modified logic used to figure out if extent from a .dtm file specified using the
/align switch contained any
data. Previous version had trouble when the extent of the .dtm file completely
contained the data extent. Result
was that GridMetrics reported that there were no data points within the .dtm file
extent. The problem only
occurred when the data files were indexed.

Also added more metrics so the GridMetrics outputs all the metrics reported by
CloudMetrics.

Corrected a problem with the P05 and P95 raster outputs. They were the same values
as the P10 and P90 raster
outputs.

6/26/2008 ClipData V1.9


Modified logic so point below DTM surface when using /dtm and /height are included
in sample. Previous versions
removed points that were below the DTm surface. Users should specify /zmin:0 to
duplicate old behavior. This change
was necessary to ensure that CloudMetrics and GridMetrics computed metrics that
agreed. When ClipData removed the
below-ground points, the metrics computed for a sample did not match the metrics
computed for a cell.

6/30/2008 ClipData V2.0


Fixed logic problem when clipping specific returns from LAS files. Previous
versions did not do this correctly.

7/24/2008 GridMetrics V2.3


Fixed the logic that caused the cell processing loop to exit early. The result was
a .csv file that didn't have
entries for all the cells in the coverage area.

8/5/2008 DensityMetrics V1.2


Fixed a problem that caused the lowest layer to have areas with relative densities
greater than 100%. This only
occurred when the maximum slice height was an exact multiple of the slicethickness.
The fix causes the correct
behavior...namely the output includes a slice that goes up to the maximum height as
well as a slice that
includes everything above the maximum height. In addition, the problem with the
first slice densities has been fixed.

8/5/2008 DTMHeader V1.1


Added button to scan the DTM file to determine the correct minimum and maximum data
values. This lets you fix a model
with the incorrect mon/max values stored in its header.

8/5/2008 MergeDTM V1.1


Fixed problem when determining the min/max elevation values. Previous versions were
using the min/max of all models
read instead of looking at the elevation written to the new model.

8/12/2008 All command line programs


Modified the logic used to print the command line into the log file and the command
prompt window. Previous versions
would display the wrong command line when the executable was specified with a
folder that contained spaces. For example,
"C:\Programs Files\FUSION\GridMetrics.exe" would produce an output that contained
the following:
Command line: GridMetrics Files\CFE\gridmetrics.exe

8/19/2008 LDA2ASCII no version number


Added new format that includes an identifier as the first column of the output.
Otherwise format is the same as LTK CSV.
Also added optional parameter to suppress the column heading in the output file.

8/29/2008 GridSurfaceCreate V1.8


Added ability to use only points in LAS files with a given classification value.
This is useful when the LAS file has
been filtered to identify bare-earth points. Also changed logic used when filling
in holes in the surface due to lack
of data points. New logic does not "smear" the areas with data to the edges of the
data extent. This should help when
creating surfaces using single data tiles and then pasting the surfaces together to
form a single large surface model.

9/3/2008 Catalog V1.6


Modified logic when /bmp is specified to create copies of all images in BMP format.
Previous version only produced a copy
of the intensity image in BMP format.

9/15/2008 FilterData V1.0


Added FilterData program to facilitate removal of "outliers" in point files. The
initial version creates a new file
containing all the returns that meet specific criteria. While this is not a
particulary efficient techniques (most
returns will be included in the outout file), it gets the job done for projects
where outliers were not removed by
the data provider.

9/30/2008 LDV V1.47


Fixed problem with the scaling logic when drawing small samples where the tree
height was greater than the width and
height of the sample. The scaling was only wrong when the X-dimension of the plot
was greater than the Y-dimension
and the Z-dimension was greater than the X-dimension.

10/20/2008 Gridmetrics V2.4


Fixed logic used to compute cover so that cover values are not computed when there
aren't enough point in the cell
to compute other metrics. Previous versions output cover value for the wrong cell
when there were too few points.

11/4/2008 DTM2ASCII V1.2


Added CSV option to output data values in CSV format.

11/4/2008 CloudMetrics V1.7


Added /firstreturn switch to use only first returns to compute metrics. Previous
versions used the /firstinpulse switch
to identify the first return in a pulse which was not necessarily the first return
due to tiled data deliveries and
clipped data samples. The logic associated with the /firstreturn switch is much
simplier and should result in consistent
results no matter the processing steps used to produce a point cloud file.

11/12/2008 ClipData V2.1


Fixed problem parsing the DTM file name from the command line when it was enclosed
in quotation marks. Previous versions
failed without providing a reason for the faliure. Command lines that caused the
problem looked like the following:

clipdata ... /dtm:"ground.dtm" ...

11/13/2008 Catalog V1.7


Added /countreturns option to produce a count of the number of returns by return
number in the CSV and HTML outputs.
Runs of Catalog using this option can take longer than runs without because Catalog
has to count up the number of
returns by reading every point in each data file. In theory LAS files have the
return counts in their header but
TerraScan does not populate this information so it is necessary to read all the
points. Also modified the information
displayed when producing image products to better indicate progress (added file #
of # when scanning data files).

11/18/2008 CanopyModel V1.4


Changed the logic to use method for filling holes in grids (via PlansDTM class) to
prevent data from being smeared
to the edge of uneven data coverages.

11/20/2008 MergeDTM V1.20


Added /disk switch to force merging of the model to a disk file instead of trying
to hold the model in memory.
Turns out there are problems when trying to figure out if there is sufficient
menmory to load the final model.
I think there is enough memory to hold the model but not enough to complete the
processing. The /disk option
allows you to circumvent the memory problem and force the model to be merged using
a disk file.

Also added the /precision switch to let the user override the default precision for
the elevations. The default
logic used the highest precision of the input models for the output. In general
this approach makes sense but
if using ASCII2DTM yo uend up with 8-byte double precision models when 4-byte float
precision would suffice
(and make the files 1/2 the size)

11/25/2008 ASCII2DTM V1.1 and CSV2Grid V1.2


Added /multiplier:# switch to help when converting cover estimates produced by
GridMetrics into Arc compatible
ASCII raster files and FUSION DTM files.

12/1/2008 FUSION V2.65


Modified logic used when LAS files (and other data formats) have no return number
information (return number = 0).
This was causing problems where FUSION could not create a sample of data points
even though the user was specifying
a valid sample area.

12/2/2008 FUSION 2.65 release


***********************************************************************************
*

12/9/2008 GridSurfaceCreate V1.9


Corrected a problem with the logic used to fill holes in the final surface.
Previous logic was leaving holes in
the corners of the coverage area when the density of data points was low. New logic
seems to eliminate the holes
so long as there are some data in the vicinity of a cell with no ground points.

12/16/2008 GridMetrics V2.5


Added buffer logic to help produce metrics over large data collections with no
"seams". The buffer capability
is best used in a batch processing mode where you can specify analysis tiles and
use the list of all LIDAR data
files in the acquisition. The logic will only use the returns within the analysis
tile boundary (plus the buffer, if specified)
to compute metrics. Metrics are not output for cells within the buffer area.

1/9/2009 Catalog V1.8


Added the /rawcounts option to save grid of return (first and all) counts used to
create density images. Only recognized
when /density and/or /firstdensity are used. Grid is saved in PLANS DTM format.
When /rawcounts is used, processing times
using indexed data files will be much greater as the data files must be read to
count the returns. Using the /rawcounts
switch also adds detailed pulse and return density images to the HTML report. These
images show the actual densities
rather that the density relative to the parameters provided with the /density
and/or /firstdensity switches.

1/15/2009 GridMetrics V2.6


Added the ability to use multiple ground surface files when processing metrics. The
groundfile parameter on the command
line can be a file specifier like *.dtm or the name of the text file containing a
list of ground surface models. This
capability allows processing for large projects where the ground surface cannot be
merged into single file. Also added the
ability to specify the analysis buffer as the number of grid cells. The 12/16/2008
modifications only allowed an buffer
specified as a distance. Also added the /minht switch to use returns above the
specified height when computing metrics.
Cover estimates still use all returns (usually first returns). Prior to this
change, you could use the /outlier switch
to limit the returns used to compute the metrics but this resulted in bad cover
estimates.

1/15/2009 MergeDTM V1.3


Fixed array subscript error used when setting the min/max elevation value for the
combined surface model. This was causing
intermittant errors depending on the size and orientation of the combined extent.

1/16/2009 Several programs


Modified the logic used to allocate memory when loading .DTM files. Previous logic
relied on default behavior when a memory
allocation failed. When memory gets low, the default behavior seems to be erratic
and often fails causing a program crash.
The new logic tests the amount of available memory before attempting the
allocation. The new logic seem more stable and reliable.

2/9/2009 MergeRaster V1.00


Added the MergeRaster program to merge ASCII raster files. This allows users to use
ASCII raster format files for most outputs
and simplifies the process for importing area-wide coverages into ArcGIS.
MergeRaster requires that grids being merged are aligned
to the same overall grid so special care may be needed to ensure that outputs from
programs like GridMetrics are properly
aligned.

2/9/2009 GridMetrics V2.7


Added /acsii switch to change output format of files produced by /raster switch to
be ASCII raster files. ASCII raster files
maintain negative values (.DTM files do not). The MergeRaster program can be used
to merge several ASCII raster files into a
single layer. Also corrected mislabeling of columns in CSV output files containing
metrics. The labels for the total number
of returns used to compute cover and the number of returns above the height cutoff
were swapped. Column 4 contains the number
of returns above the height cutoff and column 5 contains the total number of
returns used for computing cover values.

***********************************************************************************
*
3/3/2009 FUSION 2.70 release
*******************************************************
***********************************************************************************
*

FUSION 2.70 release


Important information regarding GridMetrics: If you have used GridMetrics with
the /raster option to produce .DTM files containing
LIDAR-derived metrics, you should review the FUSION manual for important changes.
Using .DTM files for output eliminates all
negative values in the metrics. For many allpications, this does not cause
problems. However, a better method is to produce the
.CSV output containing all metrics and then use CSV2Grid to create ASCII raster
files for the desired metrics. The resulting ASCII
raster files can be merged using the new MergeRaster program to produce large-area
outputs for import into ArcGIS or other GIS
software. This method produces all metrics and maintains negative values.

You might also like