Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: visionworkbench/visionworkbench
base: master
head fork: deleted/visionworkbench
compare: master
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Nov 07, 2011
EB Scharff Modified to work with python 2.6 61adf75
Commits on Jan 04, 2012
@zmoratto zmoratto image2plate should obey vwrc's cache size
... only in the event that the user doesn't specify it from the
command line. Always setting it to 512 MB defeats the purpose of the
VW settings file.
@zmoratto zmoratto Add some additional logging to platereduce
This is to help with debugging.
@zmoratto zmoratto Fix half pixel offset mistake in point2dem
This code had a mistake on how it interpreted the latlon locations of
pixels. Our output is pixel as area not pixel as point.
@zmoratto zmoratto Rename plate2plate to platetransform
This is to allow another tool to exist called 'platecopy'. It will be
a much faster version of plate2plate's identity transform. This new
tool will make it much easier to extract out solutions and reduce
plate filesize.
@zmoratto zmoratto Added platecopy
Platecopy is a lot like snapshot ... but it is meant just to copy a
transaction from one plate to another. It can be a parallel job if the
user wants it to be.
@zmoratto zmoratto Added a crop and resample command to georeference
It's pretty easy to mess up the math when using PixelAsArea
@zmoratto zmoratto Style fix in CameraBBox, one shouldn't hold an ImageViewBase
ImageViewBase is just a vessel to make sure that what we recieved is
actually an ImageView.
@zmoratto zmoratto Have plate2dem use new crop/resample from georeference
This actually fixes a frational pixel problem in the resizing code.
@zmoratto zmoratto Added a mipmap utility to plate
This is for use after something like plate-reduce, which creates only
one level.
@zmoratto zmoratto Added NullProgressCallback, the new Dummy Instance
The cool thing about this Callback is that it does nothing and doesn't
use any mutexes. This is an important speed improvement for VW as a
lot of our functions like for_each_pixel take a ProgressCallback. When
the user gives that a TerminalProgressCallback that adds a mutex deep
inside a for loop. Yet if they don't provide anything, the default
constructor provides a DummyInstance that unfortunately was previously
mutexed. The old dummy instance still updated a progress that was
never queried.

This commit make the dummy instance request return a NullProgress
callback that is not mutex'd in anyway. This is a big deal because
this removes a lot of mutexs from a lot of loops.
@zmoratto zmoratto Added GDAL as a dependency of Plate
The code explicitly instantiates MemoryResourceGDAL
@zmoratto zmoratto Warning fix for tools from GCC4.6
This is caught unused variables.
@zmoratto zmoratto Fix snapshot issue found in CTX Mosaic
The problem was that we stopped on the first opaque image that files
the entire tile. However inorder to get newest TID on top, we insert
low TIDs first and then high TIDs last. This meant that if a low TID
filled an entire tile, the newer TIDs would never be written.

This commit fixes the above problem and also keeps the opaque check
optimization in place. We know insert from top down and do a composite
every time a new tile is added. Then that composite is checked to see
if it is opaque. This is good as it means we might stop faster than
the previous code.

There's also a small improvement of never calling composite in the
event that there is only one input tile.
@zmoratto zmoratto Make mipmap a little easier to understand
It will present a more resonable error when the user forgets to
provide a mode option.
@zmoratto zmoratto Make a thread friendly version of Disparity Mask
It's best to prerasterize any access to the inputs. All single pixel
access to a DiskImageResource is mutex'd all to heck. The only
downside is the prerasterization to the right mask. There is a
possibility that we might be rasterizing a large chunk of an image.
@zmoratto zmoratto Fix image sizing for masks versus input
The newer disparity mask operation actually checks that image sizes to
insure that we don't run outside images. This commit makes sure the
those input images are of the correct size.
@zmoratto zmoratto geoblend: Split into multiple archives
This is speed up perceived compile time and to reduce instantaneous
memory usage. The thread to compile geoblend uses about 1.6G by itself
in gcc4.2. Now that it has been split down, no single thread uses over
700 MB.

I'm using archives only because it is the only way in automake to
compile the same source many times with different CPP
flags. is the source for each archive, it just takes
a macro to define which version it is instantiating.

The downsides of this method is that more hard drive space is used (an
additional 40MB) and the looks a little ugly.
@zmoratto zmoratto image2qtree: Split into multiple archives
This is speed up compile times and reduce a single process's memory
requirements when using gcc4.2.

Previously image2qtree's gcc call would try to use 1.7G of RAM. Now
each thread will only attempt to use no more than 600M.
@zmoratto zmoratto tools: Fix case of included file.
Darn my development on Macs. I didn't notice that I typed the path
incorrectly with a capitalization.
@zmoratto zmoratto Added a lazy log operation via macro VW_OUT
This is a drop in replacement for vw_out.
@zmoratto zmoratto Force use of VW_OUT in Core, FileIO, Image, Math e2704cc
@zmoratto zmoratto math: Move loop increment outside of lazy logging.
Our logging via VW_OUT is truly lazy. Don't put critical functions
like loop increment inside the log as it won't happend unless the user
kicks on logging.
@zmoratto zmoratto plate: Enforce use of return in plate tools
Using exit(0) or exit(1) is generally a bad idea as it doesn't call
destructors for local objects. In the case of exit(1), I replaced
those with vw_throw() so that users can potentially handle things
their own way.

Exit(0) were just changed out with return 0. This is so platefiles
have a chance to flush buffers and the like.

I also made sure all executables end with a defined return value.
@zmoratto zmoratto Eject the cache before performing mipmapping
Usually a person uses DiskImageView to insert into the plate. That
device will max out the cache. Our mipmapping section doesn't use the
cache object so it never deletes DIV cache objects. This means we're
at least doubling our memory requirement.

This is a dis-tasteful hack where I resize the cache to near zero to
clear it. Then mipmapping can do its own thing.
@zmoratto zmoratto Have VW's QT search behave like ASP's
This means that QT_ARBITRARY_MODULES will need to apply their own
prefix of Qt. It also means that if the user needs to add per module
library link flags, they'll have to do it themselves with the

The previous form of QT_ARBITRARY was not OSX safe since it always
applied -lQt<MODULE> for every module, even when the user specified a
framework to be linked againsted.
@deleted deleted Adds e52b150
Commits on Jan 05, 2012
EB Scharff Adjust output of blob_file_test to be usable for scanning multiple bl…
…ob files.
@zmoratto zmoratto plate: Provide an implementation of IndexPage::multi_get
Multi_get is defined in IndexPage.h but was previously never
implemented. This gives an implementation.
@zmoratto zmoratto plate: Added query_blob_content
Query_blob_content queries the index for what it thinks is written in
a specific blob file. This is a debug tool, but also really handy for
explaining how the index is laid out.
@zmoratto zmoratto tools: Reorder dependencies of image2qtree and geoblend
Ubuntu 9.04 couldn't find the dependencies of image2qtree archives. So
putting them up first made everything work.
Commits on Jan 09, 2012
@deleted deleted Adds to scan all the blobs in a platefile in paral…
EB Scharff Add a shebang to 14d633d
EB Scharff And fixes a couple of typos. 0cc7d3f
Commits on Jan 10, 2012
EB Scharff No need for every output line from scan_test_blobs to have two newlin…
…es at the end.