This page summarizes changes, fixes and enhancements to Artwork's Very Large Bitmap Viewer (VLBV) Program.
Fixed a bug where the sliver value for some differences were being rounded up.
FIxed an issue with the "Use current window" option where the highlighted selection box wouldn't disappear after closing the XOR dialog or opening a new file.
Re-orderd the coordinate input fields to be more intuitive. They now read, in order: Top, Left, Bottom, Right.
Added unit labels to the coordinate input fields to clarify that the extents are in pixels.
The units that can be set in the "Preferences -> Units" menu will now be saved in between loading new images. The default is "pixels" when opening a fresh instance of the viewer.
Bug fixesFixed a bug regarding extracting images using the "Center, Width and Height" mode where a row or column of pixel data could be dropped.
Fixed a bug regarding the calculation of sliver when comparing images with the XOR tool. The sliver was calculated incorrectly when an "island" was created inside differenced geometries (i.e. a smaller square in the middle of a bigger square which has differences on all sides).
You can now have negative values for all the input weights. Previously, a default weight value would be applied if all the weights were less than or equal to zero.
New MetAvg tool can be used to merge an arbitrary number greyscale TIFF files to a single TIFF grayscale file of bit depth 8 where the contribution each input TIFF file can have its own weight and where each pixel in the output represents a weighted average of input pixels of an area with center corresponding to the new pixel location.
Multiple files can now be loaded when launching VLBV from the command line.
Files with unrecognized extensions will still be loaded and VLBV will attempt to identify the format. If the format isn't recognized VLBV will attempt to load the file as a raw raster image.
Added "Licensing" information about MetAvg and MonoMerge2Grey to the "Licensing" dialog, which is located in the "Help" pulldown menu.
The extraction dialog will now preserve the window clip when changing the selected layer in the viewer. The window clip will reset when a new file is loaded, a file is unloaded, or the "Extraction Tool" dialog is closed.
Improved the automatic file naming system. The selected layer and number of extracted window clips will be preserved when switching between different layers in the viewer. (Example: lyr1_win1.tif, lyr2_win1.tif, lyr1_win2.tif, etc..)
Fixed a bug regarding removing and re-adding layers from the "Layer Settings" dialog. Previously, this bug caused a glitch where some layers would become disabled incorrectly.
Fixed a bug regarding the main transparency slider. Upon opening a new image the slider now properly reflects the saved transparency value. Previously, the slider was always set at 100% even if the image was loaded with a different transparency value.
Updated with new Raster Comparison library with speed improvements. Removed the dependency on "gdxout64.dll"..
There was an overflow problem with the XOR feature when comparing images with rows or columns exceeding ~21 million pixels. This has been fixed.
The new library's flow reduces the number of times the data needs to be unionized. This will significantly increase the performance when multiple threads have imbalanced workloads. For example, two TIFF files with quite a lot of differences and are 5 GB when uncompressed, went from taking just over 3 minutes to 30 seconds.
Added the ability for the XOR Tool to compare greyscale input. Inputs must have the same bit depth and DPI values to be compared.
The "Previous View" and "Next View" buttons now retain their viewing history after opening a new image.
The "Margins" setting in the "XOR Navigation" dialog now saves and loads based on the last value used.
The "Layers" dialog now always updates the file names when new files are opened.
Fixed the "-silent" flag and cleaned up the system output so it was directed correctly to the console or a dialog box.
Fixed a bug with "-merge_bpp:N" that could cause a crash if N was less than 8.
A new function has been added called Merge Multi-Monochrome to Greyscale. This enables a user to load between 2 and 8 monochrome files into VLBV and to merge these mono files into a single gray scale image. The grey levels are defined using a merge table which the user creates. This merge table defines all (or perhaps just some) of the possible pixel combinations at any point in the input stackup to produce a single grey value ranging from 0 to 255.
This merge module requires a separate license to activate.
This version includes support for CCITT T.6 compression.
Help ScreenThe "VLBitmapViewer Help" option in the "Help" menu is now called "VLBV Online Help" and links to the online help manual.
Licensing Info DialogThe "Licensing Info" dialog now displays the license status for the extraction tool and the XOR tool.
VLBV can now read Orbotech greyscale bitmaps.
VLBV can load Orbotech bitmaps to memory or straight from the disk. Images which are loaded to memory can be panned and zoomed much faster.
VLBV can crop and extract Orbotech images to produce BMP, TIFF, TIFF8, or RAW output.
Re-labeled some of the checkbox labels for more clarity.
Checkbox state is now remembered in-between opening files and upon reopening VLBV.
The dialog now properly identifies and displays Orbotech as the file format.
When extracting an image to BIG TIFF, the file extension .tif8 is used instead of .tif.
When in the Open File dialog, BIG TIFF extensions (.btf & .tif8) are now displayed by default.
Updated the File Details window to correctly display TIFF file formats:
TIF is changed to TIFF for standard TIFF files
BIG TIF is changed to BIG TIFF for TIFF files exceeding the 4GB limit.
Monochrome images can now be converted into grey scale images
Different levels of grey scale can be achieved by adjusting the sample Rate (SR) and Bit Depth (BD) [note to users - sample rate is a poor description; should be sample size (SS)]
BMP
Sample Size N x N | Bit Depth 2 | Bit Depth 4 | Bit Depth 8 |
---|---|---|---|
2X2 | X | X | |
4X4 | X | X | |
8X8 | X |
TIFF
Sample Size N x N | Bit Depth 2 | Bit Depth 4 | Bit Depth 8 |
---|---|---|---|
2X2 | X | X | |
4X4 | X | X | |
8X8 | X |
Big Tiff bitmaps are those that exceed the 4GB limit and thus have a non-standardized header. VLBV can now open, view, and extract windows from Big TIFF bitmaps.
The viewer's XOR tool can now compare files using big tiff bitmaps.
Added Support for BMP > 4 GBVLBV now opens BMP files larger than 4 GB. The header must report bitmap height as 0 which tells VLBV to compute the height without using what would otherwise be an invalid height value.
File Info EnhancedThe "File Info" window now displays the file format as a detail.
Loading to MemoryRemoved "Preference" -> "Load Mode" -> "Load2Mem in Background" as an option and simplifies the users loading options to "Read File" or "Load2Mem", which is the default.
Bitmap Processing FixesFixed a bug where opening/extracting certain images > 8gb would produce images with missing sections.
Fixed a bug where DPI conversions would wind up disabling the XOR tool for identical images.
BMP output will now produce a positive height in the header when extracting a file. The negative height used previously would cause images to appear flipped around the X axis in other tools.
A default value of 1000 DPI is set when extracting a window from an input bitmap with 0 DPI.
This version includes a fix to the high-DPI scaling issue.
This version includes better support for CCITT compression.
Filename on Command LineThis version allows a filename as a command line argument.
File Double Click/Association SupportedFor bitmap files where VLBV has been set as the default Windows viewer, double clicking on the file now starts up VLBV and loads the file.
This is the first release of VLBV 2.0 - it is available on Windows and Linux 64 bit.
At this point it includes all the zoom capabilities, info, measure. We will be adding more features in the near future.
The new VLBV features faster rendering for dense greyscale images.
CCITT T.6 Compressed Tiff filesThis version supports CCITT T.6 Compressed Tiff files.
Removed Compress/Decompress functions that were duplicated across BMP/TIFF/RAW modules.
The tool uses de/compress functions in library acsrstrlib64.dll
acsRstrCmpLib64.dll, acsRstrFmt64.dll, gdxout64.dll were removed.
acsrstrlib64.dll added.
The tool computes ActualBytesPerRow value from ImageSize value in the header.
ImageSize could be 0 in the following cases:
uncompressed BMP
has BitmapCoreHeader, instead of BitmapInfoHeader.
BMP larger than 2GB.
Compute ImageSize from the "ImageFileOffset" value to compute correct ActualBytesPerRow.
Computes ActualBytesPerRow value from StripByteCounts and RowsPerStrip Values in the header.
XOR Markers for files with different DPX, DPY handled correctly
VLBV can now open up to 3 files from command line.
When opening multiple files, the file list is sorted so that NON-RAW files are loaded first.
If first file to open is RAW, then the user needs to supply "image width", but if any file was opened before
opening a RAW file, "image width" field will default to the width value of the last opened file.
Added more settings to Registry:.
XOR Dialog Position.
Nav Dialog Position.
Inverse Mode.
Show Image Boundary.
Load Mode.
LoadMode/Units always had first item in the list checked - This issue was introduced in vs2015 builds only.
XOR Dialog now updates "Number of Differences" when filter applied.
New class ColorSettings added. This class contains three functions (ReplaceBackground, GetCVDialog, SetButtonColor) used for setting color for a color button. (Previously three functions were copied and pasted in three modules, NavViewDlg, LayerSettingsDlg, XorImageDlg).
SetButtonColor function fixed for changes in creategif module.
raw file width auto fill to the width value of the previous file loaded. If not available, 0.
Enable XOR for Raw File Types (RAW, LGRAW, LGDMD, JDKPB), regardless of DPI difference with other files.
ProgressBar bug fix (CProgressCtrl m_hwnd set to wrong value).
BugFix: Raw file locked after canceling to open from RowQA Dialog.
The tool now passes a parent window to XORDialog/NavDialog constructors.
Default position of XORDialog/NavDialog is upper right of the view window.
Licensing disabled in debug mode.
Progress update improved - It was slowing down rendering/extraction because of too many updates.
If file directory not present, the program does not default to "desktop" anymore but traverse up until it finds the first available directory.
Add support for PhotoMetricInterpolation (reverse rendering).
Crash fixed - Software was trying to read the actual rational data when it is not read into the buffer.
Software remembers XOR settings (sliver/enabled/disabled).
Added default DPI set to 1mm pixel size (bmp : 1000dpm, tiff : 25.4dpi).
File open - when NavDlg is open prompts a user that "opening a new file will close the navigation dialog".
Bug fix - The XOR dialog cannot be opened once it was closed.
NavDialog load file extension check disabled (.lst).
If the transparency of a layer is set to 0 (completely transparent), then it is set back to 1.0 (fully opaque) when a new session starts.
A bug in the navigation dialog resulted in a crash when loading an XOR coordinate list file. Fixed.
Bug Fix - Loading Large FilesA bug that occurred when loading files > 2GB was fixed. Now using 64 bit version of fseek..
Bug Fix - Greyscale parserA bug in the greyscale bitmap parser was fixed.
Enhancement - Open DialogThe file open dialog now remembers the previously used directory.
Bug Fix - Internet Explorer InterfaceHelp is provided HTML format - when the user's default HTML viewer was Internet Explorer the file name was not correctly passed. Fixed.
BMP Output Orientation FixedBMP extraction changed to properly represent Y orientation. (Previously our BMP row order was reversed when compared to programs such as Adobe Photoshop.)
Tiff parser bug fixed (parsing SHORT sized header information).
BMP Output Orientation FixedBMP extraction changed to properly represent Y orientation. (Previously our BMP row order was reversed when compared to programs such as Adobe Photoshop.
New input format added "JDKPB_FMT" (specially formatted RAW).
Navigation Dialog is a separate tool now.
Navigation Dialog can LOAD/SAVE a list (or XOR result).
For BMP input files, recalculate the word-aligned width value for "XOR" process.
Redraw after changing the vlbv window size - VLBV recalculates the target extents and draw accordingly.
Home view saved, but not drawn on the screen problem fixed.
Added "end" key for "Previous View".
Added "XOR" tip notes to the toolbar.
Tiff file lock bug fixed.
Updated acsRstrCmpLib (Compare function).
Sliver value bug fixed.
Offset bug fixed.
There was a program crash during an XOR compare of two large files. This has been fixed.
A progress bar now appears during XOR comparisons giving the user progress details.
Improved XOR Comparison SpeedWhen XOR is running or when the XOR Navigation dialog is open, File | Open, Offset, Mirror functions are not allowed.
Filter value from the navigation dialog may not be smaller than the prefilter value.
Stores and applies layer color and transparency settings when more than one file is open.
Bug Fix - Memory LeakA memory leak that occurred while reading TIFF files has been eliminated.
Added support for special BMP format - requested by DCA Inc (BMP files over 4GB).
XOR Tool added with multithreaded raster compare library. It requires acsbool64.dll acsRstrCmpLib64.dll.
Prefilter differences with a sliver value.
Fixed crash when attempted to open more than 3 files.
Added support for opening and displaying BMP files greater than 4GB. Ignores the header of the BMP file where the file size is reported.
Large File OptimizationAdded new background compression/loading in order to handle extremely large (40GB) bitmaps even on machines with limited RAM.
Hasp KeyAdded support for HASP key.
Bug Fix - Raw AlignmentFixed a bug related to alignment for RAW bitmaps.
Enhancement - InterruptUser can now interrupt the program while it is loading/compressing the input file.
Bug Fix - Progress ReportingWhen importing BMP (4/8) files the progress is now reported correctly.
Software crash problem was fixed.
Adopted new licensing scheme.
Double click to open crash fixed.
Multithreaded compression at loading stage.
Support for files with different dpy dpx values.
Efficient progress bar update to improve loading time.
tiff file info shows xy resolution values.
DPI comparison.
Fixed bmp 4bpp colormap.
Inconsistent pan/zoom with overlayed multiple files. (FirstBitPos problem)
Extractions bugs fixed.
BMP greyscale support added (1/4/8bpp).
BMP RLE compressed input supported.
BMP greyscale extractor added.
BMP RLE4/RLE8 compression supported for extraction.
Does not draw padding byte information for bmp input files.
Greyscale TIFF support added.
Ricoh file format support added.
No more "not responding" state for lengthy processes.
Add a file from the layer dialog, change view/mirror settings, and doesn't apply the changed settings for the file added.
Mirrored image shifted one pixel downward.
Remembers row size for RAW format.
New Raster Format LGDMDA new format for bitmaps has been added which we call LG DMD. This is a bitmap produced by sampling a normal bitmap using a DMD frame (either 1024x768 or 1920 x 1080) at a slight angle to the direction of DMD motion.
Bug FixReport of pixel coordinates is more accurate now.
Bug FixMissing the first pixel in each row fixed.
Fixes and Enhancements to User Interface
Automatically redraws the new home view after a transparency update
Layer dialog settings are disabled when the OK button is pressed
Layer dialog Apply button press draws the home view but user could not zoom from that point.
Improved Error Checking and Bug Fixes
Will no longer attempt to open a TIFF file that is greater than 4GB.
Verifies that an extracted TIFF image does not exceed 4GB.
A crash generated by the layer dialog has been fixed and the state of the "delete" button in the layer dialog has been fixed.
Tiff Extraction with Packbits
The ability to extract a window to TIFF w. packbits compression has been added. This is multi-threaded to take advantage of modern multi-core processors.
Layer Alignment
gross/fine offset adjustment (mouse, arrow keys).
Interface Issues
add cursor to display when zoomtoxy (add a checkbox for "show cursor" to the toolbar) is invoked
return focus to the display after toolbar use.
layers settings dialog OK button resets the settings only when any of the settings is actually changed.
Zoom to XY tool shows current unit selected.
toolbar size issue fixed.
layer settings dialog "+" buttons added for each layer. (multiple selection allowed)
Extract Window
added tiff output option to window extractor.
Yes, same version twice ...
BMP File InfoFixed a bug when displaying BMP file info that showed incorrect file size.
Mirror-in-YNew option to mirror data in Y.
Display Bug FixOn some systems, the rubber band left a ghost image. This has been fixed.
Display Bug FixInverse display now works as expected. (black foreground/white background -> white foreground/black background)
Two files can be loaded and overlayed with color/transparency for comparison purposes.
Physical UnitsCoordinate display can now be shown in physical units in order to make measurements.
A window of data can now be extracted from the large bitmap. Output can be in TIF, BMP or RAW formats.
BMP Header Item AddedThe header parameter, BITMAPCOREHEADER, for BMP files is now supported.
A new command, Zoom to XY Coordinate, has been added.
New: File Re-OpenA new command, File Re-Open, has been added.
Added the html help and example file for VLBV
GUI EnhancementsUpdates title bar right after File->Open.
Progress bar enhanced.
File Info box enhanced.
Default alignment type is selected when the "Define Alignment Type" box in a Row QA Dialog for raw input files is checked
Initial release of the Very Large Bitmap Viewer Program.