forked from NeoGeographyToolkit/StereoPipeline
-
Notifications
You must be signed in to change notification settings - Fork 3
/
NEWS
1143 lines (951 loc) · 47 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
*** RELEASE 2.6.X, TBA ***
- New satellites
* Support Cartosat-1 and Perusat-1 RPC cameras.
- New tools
* Added convert_pinhole_model, to convert between various
existing such models.
- New camera models
* Added support for pinhole camera models where the lens
distortion is given by an RPC model (rational polynomial
coefficients), of degrees 4, 5, and 6. Such a model may be more
expressive than existing ones, and its coefficients can now be
optimized using bundle adjustment. An initial model can be
created with convert_pinhole_model.
- stereo_corr
* Added new options for post-SGM subpixel stereo. Previously only a
parabola method was used.
* Added option to perform cross-correlation checks on multiple
resolution levels while using SGM/MGM.
* Added option --corr-search-limit to constrain the automatically
computed correlation search range.
* Added --corr-memory-limit-mb option to limit the memory usage of
the SGM/MGM algorithms.
* Improved search range estimation in nadir epipolar alignment
cases. Added --elevation-limit option to help constrain this
search range.
* Added hybrid SGM/MGM stereo option.
* Improvements to SGM search range estimation.
* Added --min-num-ip option.
- bundle_adjust
* Added the ability to optimize pinhole camera intrinsic
parameters, with and without having a LIDAR or DEM ground truth
to be used as reference (the latter is recommended though).
* The tool is a lot more sensitive now to --camera-weight,
existing results may change a lot.
* Added the parameters --rotation-weight and --translation-weight
to penalize large rotation and translation changes.
* Added the option --fixed-camera-indices to keep some cameras
fixed while optimizing others.
* Can read each of pc_align's output transforms and apply it
to the input cameras via --initial-transform, to be able to
bring the cameras in the same coordinate system as the aligned
terrain.
* Can read the adjustments from a previous invocation of this
program via --input-adjustments-prefix.
* Renamed --local-pinhole to --create-pinhole-cameras.
* Added the parameter --nodata-value to ignore pixels at and below
a threshold.
- stereo_gui
* Can view SPOT5 .BIL files.
- pc_align
* Add the ability to help the tool with an initial translation
specified as a North-East-Down vector, to be used to correct known
gross offsets before proceeding with alignment. The option is
--initial-ned-translation.
- dem_mosaic
* If the -o option value is specified as filename.tif, all mosaic will be
written to this exact file, rather than creating tiles.
- point2dem
* Added the ability to apply a filter to the cloud points in each circular
neighborhood before gridding. In addition to the current weighted average
option, it supports min, max, mean, median, stddev, count, nmad,
and percentile filters. The --search-radius-factor paramter can
control the neighborhood size.
* Sped up hole-filling in ortho image generation. If this creates
more holes than before, it is suggested to relax all outlier filtering,
including via --remove-outliers-params, median filtering, and erosion.
* Added the option --orthoimage-hole-fill-extra-len to make hole-filling
more aggressive by first extrapolating the cloud.
- wv_correct:
* Supports WV2 TDI = 32 in reverse scan direction.
- Misc
* The tools mapproject, dem_mosaic, dg_mosaic, and wv_correct support
the --ot option, to round the output pixels to several types of
integer, reducing storage, but perhaps decreasing accuracy.
* The tools mapproject and image_calc support the --mo option to
add metadata to the geoheader in the format 'VAR1=VAL1 VAR2=VAL2',
etc.
* Handle properly in bundle_adjust, orbitviz, and stereo
with mapprojected images the case when, for RPC cameras,
these coefficients are stored in _RPC.TXT files.
* Support for web-based PROJ.4 strings, e.g.,
point2dem --t_srs http://spatialreference.org/ref/iau2000/49900/
* Added --max-output-size option to point2dem to prevent against
creation of too large DEMs.
* Added image download option in hiedr2mosaic.py.
* Bugfix in cam2map4stereo.py when the longitude crosses 180 degrees.
* Added support for running sparse_disp with your own Python installation.
* Bugfix for image cropping with epipolar aligned images.
* The software works with both Python 2 and 3.
*** RELEASE 2.6.0, May 15, 2017 ***
- New stereo algorithms
* ASP now supports the Semi Global Matching (SGM) and
More Global Matching (MGM) stereo algorithms.
They do particularly well for Earth imagery, better
than the present approaches. They can be invoked with
--stereo-algorithm 1 and 2 respectively.
- New tools
* Added cam2rpc, a tool to create an RPC model from any
ASP-supported camera. Such cameras can be used with ASP for
Earth and planetary data (stereo's --datum option must be set),
or passed to third-party stereo tools S2P and SETSM.
* Added correct_icebridge_l3_dem for IceBridge.
* Added fetch_icebridge_data for IceBridge.
- parallel_stereo
* By default, use as many processes as there are cores, and one
thread per processes.
- stereo_pprc
* Large speedup in epipolar alignment.
* Improved epipolar alignment quality with standard pinhole cameras.
* Added the options --ip-inlier-threshold and --ip-uniqueness-threshold
for finer-grained control over interest point generation.
* Fix a bug with interest point matching the camera model is RPC
and the RPC approximation domain does not intersect the datum.
- stereo_corr
* Added new option --stereo-algorithm. Choices 1 and 2 replaces
the standard integer correlator with a new semi-global matching
(SGM) correlator or an MGM correlator respectively. SGM/MGM is
slow and memory intensive but it can produce better results
for some challenging input images, especially for IceBridge.
See the manual for more details.
- stereo_tri
* Added the option --min-triangulation-angle to not triangulate
when rays have an angle less than this.
- stereo_gui
* Zooming in one image can trigger all other side-by-side images to
zoom to same region.
* Clicking on a pixel prints image pixel indices, value, and image
name. Selecting a region with Control+Mouse prints its bounds in
pixels, and, if georeferenced, in projected and degree units.
* Added a 1D profile tool for DEMs.
* Can visualize the pixel locations for a GCP file (by interpreting
them as interest points).
* Can save a screenshot of the current view.
* If all images are in the same window, can show a given image above
or below all others. Also can zoom to bring any image in full view
(from the list of images on the left).
* Options to set the azimuth and elevation when showing hillshaded
images.
- dem_mosaic
* Added the option --dem-blur-sigma to blur the output DEM.
* Use by default --weights-exponent 2 to improve the blending,
and increase this to 3 if --priority-blending-length is specified.
* Added the options --tile-list, --block-max, and --nodata-threshold.
* Display the number of valid pixels written.
* Do not write empty tiles.
- geodiff
* One of the two input files can be in CSV format.
- dg_mosaic
* Save on output the mean values for MEANSUNEL, MEANSUNAZ,
and a few more.
- point2dem
* Added the parameter --gaussian-sigma-factor to control the
Gaussian kernel width when creating a DEM (to be used together
with --search-radius-factor).
- sfs
* Improvements, speedups, bug fixes, more documentation, usage
recipes, much decreased memory usage, together with a lot of
testing and validation for the Moon.
* Can run on multiple input DEM clips (which can be chosen as
representative for the desired large input DEM region and images)
to solve for adjusted camera positions throughout this region.
* Added parallel_sfs, to run sfs as multiple processes over
multiple machines.
- bundle_adjust
* Can optimize the intrinsic parameters for pinhole cameras. The
focal length, optical center, and distortion parameters can
be fixed or varied independently of each other. To be used with
--local-pinhole, --solve-intrinsics, --intrinsics-to-float.
* Added the option --overlap-list. It can be used to specify which
image pairs are expected to overlap and hence to be used to
compute matches.
* Added the option --initial-transform to initialize the adjustments
based on a 4x4 rotation + translation transform, such as coming
from pc_align.
* Added the options --ip-inlier-threshold and --ip-uniqueness-threshold
for finer-grained control over interest point generation.
- pc_align
* Can solve for a rotation + translation or for rotation +
translation + scale using least squares instead of ICP, if the
first cloud is a DEM. It is suggested that the input clouds be
very close or otherwise the --initial-transform option be used,
for the method to converge. The option is:
--alignment-method [ least-squares | similarity-least-squares ]
- Misc
* Built with ISIS 3.5.0.
* Minimum supported OS versions are OSX 10.11, RHEL 6, SUSE 12, and
Ubuntu 14.
* Ship with GDAL's gdalwarp and gdaldem.
* Added integration with Zenodo so that this and all future ASP
releases will have a DOI. More info in the asp_book.pdf
*** RELEASE 2.5.3, August 24, 2016 ***
Highlights
- Added the ability to process ASTER L1A VNIR images via the tool
aster2asp that creates image files and both RPC and rigorous
linescan camera models that can then be passed to stereo.
The RPC model seems to work just as well as the rigorous one
and is much faster.
- Added the ability to process SPOT5 images with stereo,
bundle_adjust, and map_project using a rigorous linescan camera model.
- Added the add_spot_rpc tool to create RPC models for SPOT5
which allows them to be map projected with the RPC model.
- pc_align
* Can solve for a scale change in addition to a rotation and translation
to best align two clouds, hence for a similarity transform.
Option: --alignment-method similarity-point-to-point
- mapproject
* Added ability to map project color images.
* Added option to map project on to a flat datum.
- camera_solve
* Added option to accept multiple input camera models.
Other
- dem_mosaic
* Fix a bug with mosaicking of DEMs over very large extent.
* Fix a bug with 360 degree longitude offset.
* Added the option --use-centerline-weights. It will compute
blending weights based on a DEM centerline algorithm. Produces
smoother weights if the input DEMs don't have holes or complicated
boundary.
- colormap
* Added a new colormap scheme, 'cubehelix', that works better for
most color-blind people.
- stereo_gui
* Use transparent pixels for displaying no-data values instead of black.
* Can delete or hillshade individual images when overlayed.
* Add control to hide/show all images when in overlay mode.
- Misc
* Make ASP handle gracefully georeferenced images with some pixels
having projected coordinates outside of the range expected by PROJ.4.
* Removed the deprecated orthoproject tool. Now mapproject should be used.
* Fixed a bug in pc_align which caused the --max-disp argument to be misread
in some situations.
* Removed some extraneous code slowing down the datum_convert tool.
* Fixed a bug in point2dem handling the Albers Conic Equal Area projection.
* Added standard thread/bigtiff/LZW options to image_calc.
*** RELEASE 2.5.2, Feb 29, 2016 ***
Highlights
- Added a constellation of features and tools to support solving for
the positions of input images lacking position information. Can be used
for aerial imagery with inaccurate or incomplete pose information,
images from low cost drones, historical images lacking metadata,
and images taken with handheld cameras.
- camera_solve
* New tool which adds support for aerial imagery etc as described above.
* Uses the THEIA library (http://www.theia-sfm.org/index.html)
to compute camera positions and orientations where no metadata is available.
* Ground control points and estimated camera positions
can be used to find absolute camera positions.
* Added section to documentation describing ways to use ASP to
process imagery from NASA's IceBridge program.
- camera_calibrate
* A convenience camera calibration tool that is a wrapper around
the OpenCV checkerboard calibration program with outputs in
formats for camera_solve and ASP.
- bundle_adjust
* Added several options to support solving for pinhole camera
models in local coordinates using GCPs or estimated camera positions.
* Improved filtering options for which images are IP-matched.
- orbitviz
* Significantly improved the accuracy of the plotted camera locations.
* Added option to load results from camera_solve.
- wv_correct
* Now corrects TDI 8 (Reverse) of WV01 and TDI 8 (Forward
and Reverse) and TDI 32 (Forward) of WV02. Other correction
behavior is unchanged.
- stereo_corr
* Added the ability to filter large disparities from D_sub that
can greatly slow down a run. The options are --rm-quantile-percentile
and --rm-quantile-multiple.
- undistort_image
* A new tool to test out pinhole model lens distortion parameters.
- Lens distortion models:
* Switched from binary .pinhole file format to updated version of
the old plain text .tsai file format.
* Added support for Photometrix camera calibration parameters.
* New appendix to the documentation describing the .tsai file format
and supported lens distortion models.
Other
- Tools
* Suppressed pesky aux.xml warning sometimes printed by GDAL.
* Removed the long-deprecated orthoproject tool.
* Added icebridge_kmz_to_csv and lvis2kml utilities.
- point2las
* Write correct bounding box in the header.
* Respect projections that are not lon-lat.
- point2dem
* Increased speed of erode option.
- docs
* Mention DERT, a tool for exploring large DEMs.
* Added new section describing camera_solve tool in detail.
*** RELEASE 2.5.1, November 13, 2015 ***
Highlights
- stereo
* Added jitter correction for Digital Globe linescan imagery.
* Bugfix for stereo with map-projected images using the RPC
session (e.g, for map-projected Pleiades imagery).
* Added OpenCV-based SIFT and ORB interest point finding options.
- bundle_adjust
* Much improved convergence for Digital Globe cameras.
* Added OpenCV-based SIFT and ORB interest point finding options.
- point2dem, point2las, and pc_align
* The datum (-r <planet> or --semi-major-axis) is optional now.
The planet will be inferred automatically (together with the
projection) from the input images if present. This can be useful
for bodies that are not Moon, Mars, or Earth. The datum and
projection can still be overridden with --reference-spheroid (or
--datum) and --t_srs.
- dem_mosaic
* Introduce --priority-blending-length, measured in input pixels.
If positive, keep unmodified values from the earliest available
DEM at the current location except a band this wide near its
boundary where blending will happen. Meant to be used with
smaller high-resolution "foreground" DEMs and larger
lower-resolution "background" DEMs that should be specified later
in the list. Changing --weights-exponent can improve transition.
- pc_align
* Added the ability to compute a manual rotation + translation +
scale transform based on user-selected point correspondences
from reference to source cloud in stereo_gui.
- stereo_gui
* Added the ability to generate ground control point (GCP) files
for bundle_adjust by picking features. In addition to the images
to be bundle-adjusted, one should provide a georeferenced image to find
the GCP lon-lat, and a reference DEM to find the GCP heights.
Other
- stereo
* If the input images are map-projected (georeferenced) and
alignment method is none, all image outputs of stereo are
georeferenced as well, such as GoodPixelMap, D_sub, disparity,
etc. As such, all these data can be overlayed in stereo_gui.
* The output point cloud saves datum info from input images
(even when the inputs are not georeferenced).
* Increased reliability of interest point detection.
* Decreased the default timeout to 900 seconds. This still needs
tuning and a permanent solution is necessary.
- point2dem, point2las, and pc_align
* Accept --datum (-r) MOLA, as a shortcut for the sphere with
radius 3,396,000 meters.
- dem_mosaic
* Fix an issue with minor jumps across tiles.
* Introduce --save-dem-weight <index>. Saves the weight image that
tracks how much the input DEM with given index contributed to the
output mosaic at each pixel (smallest index is 0).
* Introduce --save-index-map. For each output pixel, save the
index of the input DEM it came from (applicable only for
--first, --last, --min, and --max). A text file with the index
assigned to each input DEM is saved as well.
* Rename --blending-length to --extra-crop-length, for clarity.
- dg_mosaic
* Added the switch --fix-seams to use interest point matching
to fix seams in the output mosaic due to inconsistencies between
image and camera data. Such artifacts may show up in older
(2009 or earlier) Digital Globe images.
- stereo_gui
* Added the option --match-file to view interest point matches.
* Added the options --delete-temporary-files-on-exit and
--create-image-pyramids-only.
* Can read the georeference of map-projected ISIS cubes.
- point2dem
* Respect --t_projwin to the letter.
* Can create simultaneously DEMs at multiple resolutions (by
passing multiple values in quotes to --dem-spacing).
* Fix minor discrepancies in the minor semi-axis for the WGS84,
NAD83 and WGS72 datums. Now using GDAL/OGR for that.
- point2las
* Save the LAS file with a datum if the input PC had one.
- image_calc
* Fix calculation bug when no-data is present.
- pc_align
* Upgraded to the latest libpointmatcher. This may result in minor
alignment changes as the core algorithm got modified.
* Save all PC clouds with datum and projection info, if present. Add
comment lines with the datum and projection to CSV files.
- geodiff
* Bugfix when the two DEMs have longitudes offset by 360 degrees.
- colormap
* Default style is binary-red-blue. Works better than jet when
data goes out of range.
- pc_merge
* Can merge clouds with 1 band. That is, can merge not only PC.tif
files but also L.tif files, with the goal of using these two
merged datasets to create a merged orthoimage with point2dem.
- point2mesh
* Can create a mesh from a DEM and an orthoimage (DRG file).
*** RELEASE 2.5.0, August 31, 2015 ***
- Improved speed, coverage, and accuracy for areas with steep slopes
for ISIS, RPC and Pinhole cameras by implementing stereo using
images map-projected onto an existing DEM. This mapprojection is
multi-process and hence much faster than cam2map. This
functionality was previously available only for Digital Globe
images.
- New tools
* Added stereo_gui, an image viewer and GUI front-end. Features:
- View extremely large images using a pyramid approach.
- If invoked with the same interface as stereo, can run stereo on
selected clips.
- Load images with int, float, and RGB pixels, including ISIS
cubes, DEMs, NTF, TIF, and other formats.
- Can overlay georeferenced images and can toggle individual
images on and off (like Google Earth).
- Show images side-by-side, as tiles on grid, or on top of each other.
- Create and view hillshaded DEMs.
- View/add/delete interest points.
- Create shadow thresholds by clicking on shadow pixels (needed
for sfs).
- Based on Michael Broxton's vwv tool.
* Added sfs, a tool to refine DEMs using shape-from-shading. Can
optimize the DEM, albedo per pixel, image exposures and camera
positions and orientations using a multi-resolution pyramid
approach. Can handle shadows. Tested with LRO NAC lunar images at
low latitudes and toward poles. It works only with ISIS images.
* Added image_calc, a tool for performing simple per-pixel arithmetic
operations on one or more images.
* Added pc_merge, a tool for concatenating ASP-produced point clouds.
* Added pansharp, a tool to apply a pansharp algorithm to a matched
grayscale image and a low resolution color image.
* Added datum_convert, a tool to transform a DEM to a different
datum (e.g., NAD27 to WGS84).
* Added geodiff, a tool for taking the (absolute) difference of two
DEMs.
* Documented the colormap tool. Added a new colormap option based
on the paper "Diverging Color Maps for Scientific Visualization"
(http://www.sandia.gov/~kmorel/documents/ColorMaps/).
* Added gdalinfo, gdal_translate, and gdalbuildvrt to the bin
directory. These executables are compiled with JPEG2000 and
BigTIFF support, and can handle NTF images.
- docs
* Added a documentation section on 'tips and tricks', summarizing
in one place practices for getting the most out of ASP.
- stereo
* Increase the default correlation timeout to 1800 seconds.
* Fix failure in interest point matching in certain circumstances.
* Use bundle-adjusted models (if provided) at all stages of stereo,
not just at triangulation.
* Added --right-image-crop-win in addition to --left-image-crop-win.
If both are specified, stereo crops both images to desired regions
before running stereo (this is different from when only
--left-image-crop-win is specified, as then no actual cropping
happens, the domain of computation is just restricted to the desired
area).
* Bugfix, remove outliers during search range determination.
* Added the option --ip-per-tile, to search for more interest points
if the default is insufficient.
* If the input images are georeferenced, the good pixel map will be
written with a georeference.
- point2dem
* Fixed a slight discrepancy in the value of the semi-minor axis in
the WGS84 and NAD83 datum implementations.
* Added the option --median-filter-params <window size> <threshold> to
remove spikes using a median filter.
* Added the option --erode-length <num> to erode pixels from point cloud
boundary (after outliers are removed, but before filling in holes).
* Improved hole-filling, and removed the --hole-fill-mode and
--hole-fill-num-smooth-iter, as there's only one algorithm now.
* Improved performance when large holes are to be filled.
* Can create a DEM from point clouds stored in CSV files containing
easting, northing, and height above datum (the PROJ.4 string
needed to interpret these numbers should be set with --csv-proj4).
* Fixed a bug in creating DEMs from CSV files when different projections
are used on input and output.
* Expose to user gnomonic and oblique stereographic projections,
as well as false easting and false northing (where applicable).
This is a shortcut from using explicitly t_srs for the PROJ.4 string.
* The default no-data value is set to the smallest float.
- pc_align
* Can ingest CSV files containing easting, northing, and height
above datum (the PROJ.4 string needed to interpret these numbers
should be set with --csv-proj4).
* If the reference point cloud is a DEM, the initial and final errors
in the statistics, as well as gross outlier removal, are done using
a new distance function. Instead of finding the distance from a 3D
point to the closest point in the cloud, the 3D point is projected
onto DEM's datum, its longitude and latitude are found, the
height in the DEM is interpolated, and and the obtained point on the
DEM is declared to be the closest point. This is more accurate
than the original implementation for coarse DEMs. The old
approach is available using the --no-dem-distances flag.
* Fix a bug with a 360 degree longitude offset.
- point2las
* Added the ability to specify a custom projection (PROJ.4 string)
for output LAS files.
- dem_mosaic
* Write GeoTIFF files with blocks of size 256 x 256 as those
may be faster to process with GDAL tools.
* Bug fix when the tool is used to re-project.
* Added the option --weights-blur-sigma <num> to allow the blending
weights to be blurred by a Gaussian to increase their smoothness.
* Added the option --weight-exponent <num>, to allow weights
to increase faster than linearly.
* Added --stddev option to compute standard deviation.
* Added the ability to fill holes in the output mosaic.
- bundle_adjust
* Added new parameters, --ip-per-tile and --min-triangulation-angle.
* Bug fix in handling situations when a point cannot get projected
into the camera.
* Bug fix in the camera adjustment logic. Any .adjust files may
need to be regenerated.
- image2qtree
* Bug fixes.
- cam2map4stereo.py
* Create temporary files in current directory, to avoid access
issues to system directories.
- mapproject
* Can run on multiple machines.
* Use multiple processes for ISIS images, for a huge speedup.
* Bugfix, the mapprojected image should not go much beyond the DEM
it is mapprojected onto (where it would have no valid pixels).
- dg_mosaic
* Default penalty weight produces a more accurate fit when creating an
RPC model from a DG model.
* Handle the situation when two images to be mosaicked start at the
same output row number.
* Added --target-resolution option to specify the output resolution in meters.
- Misc.
* Upgraded to ISIS 3.4.10.
* Oldest supported OSX version is 10.8.
* Added documentation for image2qtree and hillshade.
*** RELEASE 2.4.2, October 6, 2014 ***
- ASP can perform multi-view triangulation (using both the
stereo and parallel_stereo tools). The first image is set
as reference, disparities are computed from it to the other
ones, and joint triangulation is performed.
- Added a new tool, dem_mosaic, for mosaicking a large number of
DEMs, with erosion at boundary, smooth blending, and tiled output.
Instead of blending, the tool can do the first, last, min, max,
mean, median, or count of encountered DEM values.
- dg_mosaic
* Support for multi-band (multi-spectral) images. Use --band <num>
to pick a band to mosaic.
- stereo
* Bugfix in interest point matching in certain circumstances.
* Set the correlation timeout to 600 seconds. This is generous
and ensures runs don't stall.
- point2dem
* Take as input n clouds and optionally n texture files, create a
single DEM/orthoimage.
* Take as input LAS and CSV files in addition to ASP's PC format.
* Fix a bug in the interplay of hole-filling and outlier removal
for orthoimage creation.
* Ensure that the DEM grid is always at integer multiples of the
grid size. This way, two DEMs with overlapping grids of the same
size will be exactly on top of each other, minimizing interpolation
error in subsequent mosaicking.
* Outlier removal is on by default. Can be disabled by setting
the percentage in --remove-outliers-params to 100.
- bundle_adjust
* Use multiple-threads for non-ISIS sessions.
* Added the parameter --overlap-limit <num> to limit the number
of subsequent images to search for matches to the current image.
* Added the parameter --camera-weight <val>, to set the weight to
give to the constraint that the camera positions/orientations
stay close to the original values (only for the Ceres solver).
- dem_geoid
* Support the EGM2008 geoid. The geoid surface across all Earth
is computed with an error of less than 1.5 cm compared to the
values generated by harmonic synthesis. A 2.5 x 2.5 minute grid
is used.
* Converted the EGM geoids shipped with ASP to INT16 and JPEG2000,
resulting in size reduction of more than 10x.
- wv_correct
* Corrects TDI of 16, 48, 56, and 64 (forward and reverse scan
directions) for WV01, TDI of 8 (forward only) for WV01, and TDI
of 16, 48, 64 (forward and reverse scan directions) for
WV02. Returns uncorrected images in other cases.
- pc_align
* Fix a crash for very large clouds.
* Use a progress bar when loading data.
* Support LAS files on input and output.
- point2las
* Bugfix when saving LAS files in respect to a datum.
- Documentation
* Move the non-ISIS-specific tutorial sections onto its own
chapter, to be read by both ISIS and Earth users. Updates and
cleanup.
*** RELEASE 2.4.1, 12 July, 2014 ***
- Added a new tool, bundle_adjust, which uses Google's ceres-solver
to solve for adjusted camera positions and orientations. Works
for n images and cameras, for all camera types supported by ASP.
- wv_correct
* Improved corrections for WV01 images of TDI 16.
- stereo_rfne
* Performance bugfix when the integer disparity is noisy.
- stereo_fltr
* Fix for large memory usage when removing small islands from
disparity with --erode-max-size.
- stereo_tri
* Bugfixes for MER cameras.
- stereo_tri and mapproject
* Added the option --bundle-adjust-prefix to read adjusted
camera models obtained by previously running bundle_adjust with
this output prefix.
- point2las
* LAS files can be saved in geo-referenced format in respect
to a specified datum (option --reference-spheroid).
- point2dem
* Bugfix, longitude could be off by 360 degrees.
* Robustness to large jumps in point cloud values.
- pc_align
* Ability to read and write CSV files having UTM data (easting,
northing, height above datum).
* Read DEMs in the ISIS cube format.
*** RELEASE 2.4.0, 28 April, 2014 ***
- Added wv_correct, a tool for correcting artifacts in Digital Globe
WorldView-1 and WorldView-2 images with TDI of 16.
- Added logging to a file for stereo, pc_align, point2dem,
point2mesh, point2las, and dem_geoid.
- Added a tutorial for processing Digital Globe Earth imagery
and expanded the MOC tutorial.
- Bug fixes in mosaicking of Digital Globe images.
- parallel_stereo
* Use dynamic load balancing for improved performance.
* Automatically determine the optimal number of processes
and threads for each stage of stereo.
- stereo_pprc
* Added the --skip-image-normalization option (for non-ISIS
images and alignment-method none), it can help with reducing
the size of data on disk and performance.
- stereo_rfne
* Added new affine subpixel refinement mode when
--subpixel-mode = 3. This mode sacrifices the error resistance
of Bayes EM mode in exchange for reduced computation time.
For some data sets this can perform as well as Bayes EM in
about one fifth the time.
- stereo_fltr:
* Hole-filling is disabled by default in stereo_fltr. It is
suggested to use instead point2dem's analogous functionality.
It can be re-enabled using --enable-fill-holes.
* Added the option --erode-max-size to remove isolated blobs.
* Relaxed filtering of disparities, retaining more valid
disparities. Can be adjusted with --filter-mode and related
parameters.
- stereo_tri:
* Added ability to save triangulation error for a DEM as a 3D
North-East-Down vector rather than just its magnitude.
* When acting on map-projected images, handle the case when the
DEM used for map-projection does not completely encompass the
images.
- pc_align:
* Read and write CSV files in a wide variety of formats, using
the --csv-format option.
* Display the translation component of the rigid alignment
transform in the local North-East-Down coordinate system, as
well as the centroid of source points used in alignment.
* Save to disk the convergence history (iteration information).
* Added the ability to explicitly specify the datum semi-axes.
* Bug fix for saving transformed clouds for Moon and Mars.
* More efficient processing of reference and source points
by loading only points in each cloud within a neighborhood
of the long/lat bounding box of the other cloud.
* Make it possible to generate ortho and error images using
point2dem with the transformed clouds output by pc_align.
- point2dem:
* Replaced the core algorithm. Instead of sampling the point
cloud surface, which is prone to aliasing, the DEM height at a
given grid point is obtained as a weighted average of heights
of all points in the cloud within search radius of the grid
point, with the weights given by a Gaussian. The cutoff of the
Gaussian can be controlled using the --search-radius-factor
option. The old algorithm is still available (but obsoleted)
using the --use-surface-sampling option. The new algorithm
makes the --fsaa option redundant.
* Added the ability to remove outliers by triangulation error,
either automatically (--remove-outliers) or manually, with
given error threshold (--max-valid-triangulation-error).
* Added two algorithms to fill holes in the output DEM and
orthoimage (--hole-fill-mode).
* The way the default DEM spacing is computed was modified,
to make dependent only on the local distribution of points
in the cloud and robust to outliers.
* Can handle highly noisy input point clouds without spikes in
memory usage and processing time.
* Improved memory usage and performance for large point clouds.
* Bug fix, the DEM was shifted by 1 pixel from true location.
*** RELEASE 2.3.0, 19 November, 2013 ***
TOOLS
- Added pc_align, a tool for aligning point clouds, using the
libpointmacher library
(https://github.com/ethz-asl/libpointmatcher). Sparse and dense
point clouds are supported, as well as DEMs. Two ICP methods are
supported, point-to-plane and point-to-point. Memory and processing
usage are proportional to the desired number of input points
to use rather than to the overall input data sizes.
- Added lronac2mosaic.py, a tool for merging the LE and RE images
from the LRONAC camera into a single map-projected image. The
output images can be fed into the stereo tool to generate DEMs.
- rpc_maprpoject and orthoproject are combined into a single tool
for projecting a camera image onto a DEM for any camera model
supported by Stereo Pipeline. The old orthoproject is kept for
backward compatibility for a while.
GENERAL
- Stereo Pipeline (almost) daily and fully verified builds for all
platforms are available for the adventurous user
(http://byss.arc.nasa.gov/stereopipeline/daily_build/). When
requesting support, please provide the output of "stereo --version".
- The size of Stereo Pipeline output data has been reduced, by up to
40%, particularly point clouds and DEMs are between 30% to 70%
smaller. Better encoding is used, output data is rounded (up to 1
mm), and point clouds are offset and saved as float instead of
double.
- Timeout option added for stereo correlation, preventing
unreasonably long correlation times for certain image tiles.
- Subpixel mosaicking in dg_mosaic uses bilinear interpolation
instead of nearest neighbor avoiding artifacts in certain
situations.
- dg_mosaic can generate a combined RPC model in addition to the
combined DG model. It accepts flags for specifying input and
output nodata values.
- point2dem with the --fsaa option for reducing aliasing at
low-resolution DEM generation has been improved as to remove the
erosion of of valid data close to no-data values.
- Bugfixes for parallel_stereo, point2dem, etc.
*** RELEASE 2.2.2, 17 MAY 2013 ***
(incremented from 2.2.1 after one more bugfix)
TOOLS
- stereo_mpi renamed to parallel_stereo and made to work
on any machines with shared storage, rather than just on
supercomputers using Intel's MPI library. Bug fixes for
homography and affine epipolar alignment modes, etc.
- Bugfix for dem_geoid path to geoids, more robust datum
identification.
*** RELEASE 2.2.0, 6 MAY 2013 ***
GENERAL
- ISIS headers removed from IsisIO's headers.
- Removed unneeded mutex inside inpaint algorithm.
- Interest point matching and description are parallel now.
- Stereo pprc uses separable convolution for anti-aliasing.
- IsisIO made compliant with ISIS 3.4.3's API.
- Blob consolidation (for inpainting) is now parallel.
- Yamaha RMAX code dropped.
SESSIONS
- RPC mode can now read Astrium data.
- DG added additional safety checks for XML values.
- DG, ISIS, and RPC now have affineepipolar alignment option.
- All sessions had their API changed. We now use Transform objects
instead of LUTs to reverse map projections and alignments.
TOOLS
- Added dem_geoid, dg_mosaic, and stereo_mpi.
- Added new interest point matching method to stereo.
- Added new DEM seed mode for stereo.
- Point2dem sped up by reducing over rasterization of triangles.
- Stereo_corr has local_homography option. Homography transform
applied per tile.
- Fix point2dem where for certain projections we were setting K=0.
- Stereo can now operate on terminal only arguments without stereo.default.
*** RELEASE 2.1.0, 8 JANUARY 2013 ***
GENERAL
- Added documentation for processing GeoEye, Digital Globe, and Dawn FC data.
- Fixed implementation of internal RANSAC function.
- DEMError has been renamed IntersectionErr. 3D IntersectionErr is
now recordable in local North East Down format.
SESSIONS
- Added RPC processing session.
- DG sessions now use bicubic interpolation for map projection arithmetic.
- Fixed bug in case where DG XML file had single TLC entry.
- DG sessions now applies velocity aberration corrections.
TOOLS
- Have point2dem use correct nodata value when writing DRGs.
- Fix segfault issue in point2dem due to triangle clipping.
- Hiedr2mosaic python script now supports missing CCD files and
start/stop resume on noproj step for bundle adjustment.
- Max pyramid level used for stereo correlation is configurable with
corr-max-levels option.
- Stereo accepts left-image-crop-win option for processing of
specific image coordinates.
- Stereo_pprc accepts nodata-threshold and nodata-percentage options
for masking (possibly shadows).
- Stereo command should now correctly call secondary executables so
that their dependencies are loaded.
*** RELEASE 2.0.0, 20 JUNE 2012 ***
GENERAL
- Modified ASP according to API changes in ISIS 3.4.0.
- Added new interest point matching code. Provides better initial
guess for search range.
- Complete changed stereo.default format. See stereo.default.example
for an example.
- Complete rewrote integer correlator for improved speed and less
memory use.
- Relicense code to be Apache 2 licensed instead of NOSA.
SESSIONS
- Add normalization options to PINHOLE session.
- Added Digital Globe (DG) session. This supports the linearized
linescan camera model that is described in the supporting XML file.
- Deleted KEYPOINT session. PINHOLE essentially does all of that.
EXAMPLES
- Added DEMError output example for MOC.
- Added jigsaw example for MOC.
- Added HiRISE example dataset.
TOOLS
- Dropped release of isis_adjust and bundlevis.
- Fix int32 overflow in arithmetic for subsampling in preprocessing.
- Remove Python 2.4 incompatible call in cam2map4stereo.py.
- Speed up point2dem texture access by remove unnecessary mutex.
- Add earth mode and fix non spherical support in point2dem.
- Added lronac4staged.py.
- Implemented D_sub or seeded integer correlation in stereo_corr.
- Fourth channel of output PC file is now triangulation error.
- Added --t_srs option to point2dem.
- Added rpc_mapproject tool. This provides an optional map_projection
step that can be used for DG session.
- Allow IAU2000:* projection options to be used by point2dem.
- No-Data is now colored black in GoodPixelMap.
- Make noproj step in hiedr2mosaic parallel.
*** RELEASE 1.0.5, 27 OCT 2011 ***
GENERAL
- Fixed ASP to work with ISIS 3.3.0's new API changes and library
dependencies.
SESSIONS
- Enabled parallel writing in Pinhole Session.
TOOLS
- Fix possible infinite loop in stereo_corr's search range.
- Shutoff rotation invariance in automatic search range for better
quality results. This is possible because the input images are
already aligned.
- Sub image produced by stereo_pprc are now limited to around 8MB.
- Fix disparity_debug to work with integer disparities as well.
- All ASP tools should now have a '--version' option.
- Bug fix point2dem where rasterizer was accessing outside of
allocated memory.
- Speed up mask generation in stereo_pprc by avoiding mutex.
- Speed up hole filling in stereo_fltr by avoiding mutex.
*** RELEASE 1.0.4, 23 MAY 2011 ***
SESSIONS
- Added support for CAHVORE in pinhole sessions.
TOOLS
- Hide GDAL warnings caused by our file integrity checks.
- Mostly added standardized options for settings threads and BigTIFF.
- Have orthoproject return same type as input plus alpha channel.
- Improved edge_masking, speeds up stereo_fltr and stereo_pprc.
- Have cam2map4stereo.py explicitly use ISIS's getkey command.
- Fix and optimized point2dem. Remove caching and improved rendering
times. This should fix BigTIFF problems that have been reported.
- Improve triangulation times slightly when using map projected
linescan cameras.
EXAMPLES
- Added orthoproject, image2qtree, colormap, hillshade examples to MOC.
- Added K10 example dataset.
- Added MER example dataset.
- Added a non-map projected MOC example.