Point Grey Research Ladybug Release Notes ----------------------------------------- We welcome your bug reports, questions, and comments: www.ptgrey.com/support/contact/ Version 1.6 Beta 3 - 23 June 2011 - [IMPORTANT] Windows .NET 2.0 runtime is required to run the software. Windows XP users will have to install it if it is not installed. - Added a functionality to adjust frame rate when producing a video in LadybugCapPro. - Added a functionality to skip frames during stream processing in LadybugCapPro. - Fixed issues in parallel processing in LadybugCapPro. - Fixed a memory leak in stream processsing in LadybugCapPro. - Rearranged the order of cube map output in LadybugCapPro so that it matches with iOS viewer. Version 1.6 Alpha 2 - 27 May 2011 - Improved error handlings for HDR, tone mapping and anti-aliasing features. - Added H.264 video support. This includes a new set of API - ladybugCreateVideoContext, ladybugDestroyVideoContext, ladybugAppendVideoFrame, ladybugOpenVideo, and ladybugCloseVideo. - Fixed an issue in the camera control panel. The panel doesn't get brought to the front when it first appears. - Fixed bugs in ladybugCSharpEx. - Fixed various issues in stream file processing with LadybugCapPro. Version 1.6 Alpha 1 - 5 May 2011 [New key features] - Renewed the underlying camera accessing mechanism and camera control GUI. These are now based on FlyCapture2. - The new camera control GUI has a feature to control independent exposure control of Ladybug3 which is supported from the firmware version 1.3.2. - Added dynamic stitching feature. This is recommended when the subjects in the scene locate in various distances and stitching errors are prominent and could not be covered with the fixed stitching distance. New functions are added - ladybugSet(Get)DynamicStitch, ladybugSet(Get)DynamicStitchingParams. This is also usable with LadybugCapPro. - Added the image processing pipeline for 16-bit and high dynamic range (HDR) images. (See below for detail.) [HDR-related changes] - Added support of RAW16 and 12-bit JPEG streaming from camera. (The 12-bit JPEG is still not supported in the current firmware.) - Added image processing and rendering of 16-bit images. This includes the functions such as ladybugConvertImage, ladybugUpdateTextures, ladybugSetColorCorrection, etc. - Added API - ladybugSetTextureIntensityAdjustment. When set, texture intensity is adjusted to compensate the differences of exposure of each camera when rendering stitched images. The adjusted texture is then represented in floating point numbers. - Added API - ladybugSetToneMapping, ladybugGetToneMapping, ladybugSetToneMappingParams. These functions control tone mapping for HDR images. - Changed ladybugRenderOffscreenImage. User can now render images in 16-bit integer and in 16-bit/32-bit floating points. - Added support of PNG, TIFF and HDR file formats for saving. - All the above HDR-related features are available through LadybugCapPro. [Other image processing changes] - Added two new color processing methods - LADYBUG_HQLINEAR_GPU and LADYBUG_DIRECTIONAL_FILTER. LADYBUG_HQLINEAR_GPU produces the same output as LADYBUG_HQLINEAR but has higher performance on the graphics card that supports NVidia's CUDA. LADYBUG_DIRECTIONAL_FILTER produces the best quality output while the performance is much better than LADYBUG_RIGOROUS. - Deprecated a color processing method LADYBUG_NEAREST_NEIGHBOR. LADYBUG_NEAREST_NEIGHBOR_FAST should be used instead. - Added new API - ladybugConvertImage. This will replace ladybugConvertToMultipleBGRU32. Other than its name, the difference is that the user can specify the output pixel format. - Changed API ladybugConvertImage (ladybugConvertToMultipleBGRU32) and ladybugUpdateTextures. These function can now omit the BGRU-format texture buffers which will be managed by the library. - Added a new API function ladybugSetAntiAliasing() to minimize the sampling artifacts of the rendered images. This is especially effective when the rendered output image is small. In LadybugCapPro, This function is available through "Enable Anti-Alising" menu. - Added image sharpening feature. The new functions ladybugSet(Get)Sharpening are introduced. [Other changes] - Redesigned the installer. Users may install Ladybug SDK files for cross-platform development. This feature is installed by selecting "Cross Platform Dev Files" in the Custom Setup dialog. - Added a new example ladybugEnvMap which illustrates the usage of Ladybug for environment mapping. - Increased the size of maximum AVI file from 1GB to 2GB. - Added "Save alpha mask files" menu in LadybugCapPro. - Improved the precision in alpha mask generation. - Fixed crash when ladybugGetCameraUnitExtrinsics is called without calling ladybugLoadConfig. Version 1.5 Release Candidate 7 - 10 Feb 2011 - Fixed a bug in ladybugSetZAxis. This was producing the wrong result in certain cases. - Fixed crash in Ladybug.InitializeStreamForWriting in C#. - Fixed some broken files in Flash spherical viewer's source code. Version 1.5 Beta 6 - 4 Oct 2010 - Added cube mapping output in LadybugCapPro. Version 1.5 Beta 5 - 11 Aug 2010 - Updated the signed drivers. - Fixed some issues in Google Earth's KML output. Version 1.5 Beta 4 - 14 July 2010 - Added ladybugProcessStreamParallel example. This example shows how to process a Ladybug image stream using multiple Ladybug context parallel processing. - Changed to use GoogleMaps API version 3. GoogleMaps API Key is no more required to deploy the files on the web. - Fixed some error handling issues. Version 1.5 Alpha 3 - 1 June 2010 - The performance of stream processing in LadybugCap and LadybugCapPro is increased by using the asynchronous file operations. - LadybugCapPro should have additional performance increase for high-end PCs (8-core or more) because stream processing is now multi-threaded. - Added an option for asynchronous operations to the API ladybugSaveImage, ladybugInitializeStreamForWriting(Ex), ladybugInitializeStreamForReading. - LadybugCapPro remembers some of the processing parameters. - Added API - ladybugDoOneShotAutoWhiteBalance and ladybugGetOneShotAutoWhiteBalanceStatus. - Added dome view output (JPEG, BMP, AVI, FLV and WMV) to LadybugCapPro. - Added stream file recovery feature. This will save images when a stream file is incorrectly closed and becomes invalid. - Warning messages won't appear when the frame drop happened after recording a stream. Instead, performance report is created for each recording. - Flash viewer now supports the 'loop' parameter. Version 1.5 Alpha 2 - 11 March 2010 - Added signed drivers for Windows 7. - Now Ladybug3 works fine under the OpenGL environment where the texture size is limited to 1024x1024. This still requires the color processing method to be the downsampled ones. - Fixed issues in image capturing in x64 environment. - Added red, green and blue adjustments to post-processing color correction methods. - Improved the usability of LadybugCapPro's color correction dialog box. - Added performance report output to LadybugCapPro's stream conversion. - Added 1m, 1.5m and 7m to the selection of stitching sphere sizes in LadybugCapPro. - Improved the performance of color processing for uncompressed image formats. - Fixed the issue in cylindrical view when rotation is applied. - Fixed the documentation error in LadybugPoint3d. - Fixed a bug that ladybugSetZAxis is not handling the 3D points correctly. Version 1.5 Alpha 1 - 13 January 2010 - Added API - ladybugSet3dMapSphereSize(), ladybugGet3dMapSphereSize() - for changing the stitching distance dynamically. - Added API - ladybugSetColorCorrectionFlag(), ladybugGetColorCorrectionFlag(), ladybugSetColorCorrection(), ladybugGetColorCorrection(). - Added API - ladybugSetImageStatisticsFlag(), ladybugGetImageStatisticsFlag(), ladybugGetImageStatistics(). - Added histogram display in ladybugCapPro. - Alphamask is now generated on-the-fly and is not saved to a file. - Improved the performance of the falloff correction initialization. - Added auto exposure camera control in camera control GUI for Ladybug3. - Removed LadybugFrameRate enum. - Changed LadybugProcessedImage struct. It now contains a new struct LadybugImageMetaData which can store information for EXIF. If LadybgProcessedImage is being used in the existing applications, the source code must be recompiled for this change. Version 1.4 Release Candidate 5 - 14 December 2009 - Fixed an issue in Windows Vista and Windows 7 when starting to record a stream due to the failure of creating a temporary file. - Fixed a bug - ladybugCSharpEx occasionally failed to render stitched image correctly. - Fixed a bug - Ladybug SDK now handles the synchronization of GPS and image more precisely. - Added self-signed drivers. Version 1.4 Beta 4 - 19 October 2009 - Fixed an issue of failing to save temporary configuration file in LadybugCapPro. This will fix the problem of failing to write a stream file in Windows Vista/7. - Fixed a bug - LadybugCapPro occasionally crashes or produces invalid images when 'Play' button is pressed. - Added an option to specify a configuration file in LadybugProcessStream. - Added an argument to specify GoogleMaps API key in ladybugWriteGPSSummaryDataToFile(). - You can now specify GoogleMaps API key in .ini file of LadybugCapPro. - The information returned by ladybugGetImageRenderingInfo() is now valid for Windows Vista and Windows 7. Version 1.4 Alpha 3 - 22 September 2009 - Added Flash spherical viewer. - Added WMV format video output with LadybugCapPro. - freeglut is now dynamically linked. No more using static library. - Fixed a bug - Crash in LadybugCapPro when changing color processing methods. - Fixed a bug - When producing AVI outputs, the image width must be the multiple of 4. This is now checked. - Fixed an OpenGL stack overflow issue when calling ladybugDisplayImage() to draw spherical view. - Fixed a bug in ladybugSimpleRecording example. 'Exit' nemu item or 'q' key now works. - Fixed a bug in stabilization. It didn't work properly on certain circumstances. Version 1.4 Alpha 2 - 14 August 2009 - Added ladybugProcessStreamCSharp. - Added more functionality to LadybugCapPro: - New output types (6 color processed images, 6 rectified images) - Display of rendering information - Saving configuration file - Full screen mode - Improved functionality of ladybugCSharpEx sample program. - Improved the image quality around the pole of the stitched image. - The LADYBUG_DISABLE member of the LadybugColorProcessing enum can now be used for JPEG streams to obtain raw Bayer buffers. - Fixed a bug that may corrupt display images or cause a Ladybug library crash when calling ladybugReleaseOffScreenImage() to release off-screen image rendering buffers. - The freeglut library is now used for GLUT projects. - EXIF file type added to ladybugSaveImage. - Added FLV output support for 64-bit Windows. - Fixed various memory leak issues. Version 1.4 Alpha 1 - 29 May 2009 *** Application-level changes *** - Reorganized LadybugCapPro tool bars. - Added image stabilization, arbitrary 3D mesh rotation to LadybugCapPro. - Added arbitrary 3D mesh rotation to LadybugCap. - Added FLV file output and flash viewer file output features to LadybugCapPro. - Added 'Large icon' support for LadybugCapPro. - Updated icons for LadybugCap and LadybugCapPro. - Changed the location of alpha mask files from 'bin' folder to the folder specified by the environment variable 'LOCALAPPDATA'. This should fix the issue saving files in Windows Vista. This applies to both LadybugCap and LadybugCapPro. - Changed the location of the image files to be saved from 'bin' to 'My Documents' for LadybugCapPro. - Added one-shot auto white balance functionality to LadybugCapPro. - The stream file with .pgr extension is now associated with LadybugCapPro. - LadybugCap, LadybugCapPro have context sensitive help on the camera control panel. - Modified ladybugCap and ladybugCapPro to start Ladybug camera with current bandwidth settings. This is useful for users who want to share the bandwith with other cameras on the bus. If there is more than one camera on the bus, starts the camera with the current packet size and image size settings on the camera. If there is only one camera on the bus, starts the camera with settings for best performance. - Modified ladybugProcessStream example so that it can process Ladybug stream with more command line parameter settings. - All the project files of the example code use property sheets. - Added the auto exposure range feature. *** API-level changes *** - Added ladybugSet/Get3dMapRotation() for arbitrary 3D Map rotation. - Added ladybugEnableImageStabilization for image stabilization functionality. - Added ladybugSetZAxis() function to align the 3D map to the vertical lines specified by the user. - Added ladybugSetSphericalViewParams() and ladybugGetSphericalViewParams() to set the spherical view transformation parameters. This is useful for offscreen rendering of spherical views. - Changed the behavior of ladybugStartEx() and ladybugStartLockNextEx(). If the value of uiPacketSize is not specified or specified as 0, this call starts the camera with the current packet size value. If the value of uiBufferSize is not specified or specified as 0, this call starts the camera with the current buffer size setting for JPEG compressed images and uses the maximum buffer size value for un-compressed images. - Changed alpha mask files format to a single .zip file instead of 6 PGM files. Each alpha mask file is in JPEG format. - Fixed the inconsistency of orientation of the rectified images. The offscreen rendering image is now in landscape orientation. Also, ladybugSetOffScreenImageSize() performs the initialization done by ladybugSetRectifyResolution(). - Changed function names ladybugSet/GetOpenGL3dMappingGridSize() to ladybugSet/Get3dMapSize(). - Changed function names ladybugGet/SetCorrectionAttenuation() to ladybugGet/SetFalloffCorrectionAttenuation(). - Removed ladybugopengl.h. Users should use functions defined in ladybugrenderer.h. Version 1.3 Release Candidate 17 - 10 March 2009 - Added HDR control panel for Ladybug2. - Fixed a bug which prevents multiple cameras from running on certain conditions. - Fixed an issue on compiling example programs under Visual Studio 6. Version 1.3 Beta 16 - 11 February 2009 - Added ladybugGetAutoJPEGBufferUsage() and ladybugSetAutoJPEGBufferUsage() API functions. - Added triggering/strobe functions and an example ladybugTriggerEx. - Added ladybugEnableSoftwareRendering() API function. - Added ladybugOutput3DMesh and ladybugStitchFrom3DMesh examples. - Added Ladybug3 Getting Started Manual. - Fixed some problems on fall off correction when using gamma correction. - Fixed a bug that an extra stream file is created on certain conditions. - Modified ladybugPanoStitchExample to grab multiple images. - Modified LadybugCap so that it can load any calibration file. (/cal option) - Fixed a bug that prevents starting the camera with a compressor with different resolutions. - Fixed a bug that LadybugCapPro's GUI components are not redrawn correctly. Version 1.3 Beta 15 - 09 December 2008 - Added signed driver for Ladybug3 - Added Ladybug3 Technical Reference Manual - Fixed a bug in ladybug library that may cause black stitched image. Version 1.3 Beta 14 - 28 November 2008 - IPP is statically linked to ladybug.dll - Fixed a bug in ladybugSetAlphaMaskPathname(). - Fixed a memory leak when using Google Map view of LadybugCapPro. - Fixed bug6670 - ladybugConfigureOutputImages() now can configure Ladybug library properly with on board video card. - Fixed a bug in LadybugCap. Reset the image processing parameters when a new stream file is opened. - Added the following information to LadybugImageRenderingInfo. - Pixel buffer OpenGL extension support. - The company responsible for this OpenGL implementation. - The name of the OpenGL renderer of the hardware platform. - Deprecated ladybugRectifyImage() and ladybugGetRectifiedImage() API functions. These functionalities are implemented by the API functions defined in ladybugrenderer.h. - Deprecated the following API functions. - ladybugGetVoltage(), - ladybugGetHDSize(), - ladybugGetWritePointer(), - ladybugSetWritePointer(), - ladybugResetWritePointer(), - ladybugGetRecordedImages(), - ladybugIsRecording(), - ladybugStartRecording(), - ladybugStopRecording(), - ladybugExtractImageFromHD() - ladybugExtractStippledToBGRU32(), - ladybugConvertToMultipleStippled(), - ladybugCorrectStippledFalloff(), - LadybugCapPro has 'Play','Pause' buttons - Add Trigger control and HDR control in Camera control panel - LadybugCapPro's JPEG output has EXIF tags if the image has GPS information Version 1.3 Alpha 12 - 04 November 2008 - Fixed a bug in parsing GPS GPGSV sentence. Version 1.3 Alpha 11 - 01 October 2008 - Support of Windows Vista. - Support of 64-bit architechture. - Ladybug DLLs are now not copied to System32 folder. The 'PATH' environmental variable now has an entry for these DLLs under "bin". - IPP DLLs are now copied to "IPP" folder under "PGR Ladybug". This folder is also added to 'PATH'. - A solution file "Example.sln" for Visual Studio 2005 is provided to open all the example projects. - Added "ladybugProcessStream" example. - LadybugCap saves GPS settings on Windows registry. - LadybugCap has the "Save Configuration File" menu to save configuration data in the camera. - LadybugCap can now output sequential JPEG images of the dome view. - Fixed memory leakage issues when reopening a stream or re-selecting a camera. - New APIs : ladybugGetAbsPropertyEx, ladybugSetAbsPropertyEx. - Fixed a bug when the width of off-screen rendering is not a multiple of 4. - Fixed a bug that the frame rate in the stream file is not correct under certain conditions. - Fixed a bug that produces white image when Opening a second PGR stream file. Version 1.3 Alpha 10 - 11 July 2008 - Fixed a bug related to ladybugInitializeStreamForWriting(). Version 1.3 Alpha 09 - 10 July 2008 - Fixed a bug for Ladybug3 on S400 bus. - Removed the deprecated API functions from ladybugopengl.h. - Fixed a bug in ladybugInitializeStreamForWriting(). Version 1.3 Alpha 08 - 23 June 2008 - Added Ladybug3 support. - Stream file version number defined in LadybugStreamHeadInfo is increased as 4. A padding block is added at the end of each image for improving recording speed. The size of the padding block for uncompressed image stream is set to the value of ulPaddingSize in LadybugStreamHeadInfo. The Stream File Format documentation has also been changed respectively. - Modified ladybugRenderOffScreenImage(). It returns 24-bit image data instead of 32-bit. The alpha channel is removed. - Ladybug library is now able to render an off-screen image bigger than graphics card OpegnGL viewport size. - Added image zoom in & zoom out function in ladybugCap and ladybugCapPro. - Fixed bug6068 and bug6061 - Ladybug PGR stream files are now closed properly with the correct number of images. - Added Data Format and Color Processing selection combo on ladybugCap tool bar. - Modified the return value of ladybugStartGPS() function. It returns LADYBUG_OK if the GPS data is being received. - Added pixel format member to LadybugProcessedImage struct. - Added HQLinear color processing method. - Uncompressed format supports downsample and mono color processing methods. - Google Map View of LadybugCapPro is now resizable. - Fixed GPS data synchronization problem. - Alpha mask generation is faster for full resolution color processing methods. - GPS works fine if the COM port number is more than 9. Version 1.3 Alpha 07 - 06 February 2008 - Fixed bug5319 - Ladybug library switches panoramic and spherical rendering mode to upside down if the viewing angle is set to one of the following values by calling ladybugSetPanoramicViewingAngle(). - LADYBUG_FRONT_0_DOWN_5, - LADYBUG_FRONT_1_DOWN_5, - LADYBUG_FRONT_2_DOWN_5, - LADYBUG_FRONT_3_DOWN_5, - LADYBUG_FRONT_4_DOWN_5, - LADYBUG_FRONT_5_DOWN_0, - LADYBUG_FRONT_5_DOWN_1, - LADYBUG_FRONT_5_DOWN_2, - LADYBUG_FRONT_5_DOWN_3, - LADYBUG_FRONT_5_DOWN_4 Version 1.3 Alpha 06 - 17 December 2007 - The signed PGR Ladybug Camera 1394 Driver version 1.3.3.4 is installed. - Added the signed PGRPro Drivers in PGR Ladybug\driver\ directory. Version 1.3 Alpha 05 - 05 December 2007 - Added ladybugSimpleRecording example to show users how to record Ladybug images to PGR stream files. - Fixed a bug in ladybugInitializeStreamForWriting() API function. - Fixed a bug in writing AVI stream files - the names of the stream files are now named correctly. This bug was present starting with Version 1.3 Alpha 02. - Fixed Bug 5144 - Added sub-second resolution to ladybug GPS time data. - Fixed bug 5643 - GPS data in LadybugImageInfo are correctly set if the stream image has GPS sentences. - Added cycle offset in LadybugTimestamp. - Updated documentation for Ladybug Stream File Format specification. Descriptions are added to explain how to access timestamp information of the image. - Modified ladybugSaveImage() API function and added ladybugGetImageSavingJpegQuality() and ladybugSetImageSavingJpegQuality(). - LadybugCap and LadybugCapPro are now able to start recording with Ctrl+R keystroke. Press Ctrl+R key to start recording and press again to stop recording. - LadybugCapPro can display different Ladybug images including 3d spherical images, dome projection images and rectified images. - Fixed a bug in saving AVI file for Ladybug1 camera. Version 1.3 Alpha 03 - 18 October 2007 - Fixed bug5565 and bug5574 - PACKET_PARA_INQ and BYTE_PER_PACKET registers are correctly initialized in Ladybug library. This bug may cause the Ladybug camera to run at less than full frame rate when the camera is started the first time after power-up. - Modified ladybugCaptureHDRImage example so that it reads exposure values from an INI file. - Fixed a bug in ladybug3dViewer example. 32-bit panoramic BMP files are now read correctly. Version 1.3 Alpha 02 - 02 October 2007 - Fixed bug5527 - Corrected an error in hardware rectification and mesh positioning. - Fixed a bug in grab rate calculation for both ladybugCap and ladybugCapPro. Version 1.3 Alpha 01 - 17 September 2007 - Ladybug library introduced a new set of Ladybug image rendering API functions. These functions are defined in ladybugrenderer.h. Since Ladybug version 1.3 Alpha 01, it is recommended that users use the functions defined in ladybugrenderer.h, instead of using ladybugopengl.h. The header file ladybugopengl.h will be deprecated. - Ladybug rectified image rendering is hardware accelerated. The API functions for rendering rectified images are defined in ladybugrenderer.h. - Added ladybugSimpleGrabDisplay example to show users how to use OpenGL Utility Toolkit (GLUT) to grab Ladybug images and display the images in a simple window. This example displays Ladybug panoramic images, dome view images, color processed images and rectified images. All stitched image rendering and rectified image rendering is hardware accelerated. - Added ladybugAdvancedRenderEx example to show users how to draw Ladybug 3D sphere image with other 3D objects. - Added ladybugOGLTextureEx example to show users how to access Ladybug images directly on the graphics card as an OpenGL texture map. The rendered Ladybug images are accessed by their texture ID and can be mapped to any geometric object as desired by using OpenGL functions. The following Ladybug image textures are demonstrated: panoramic image, dome view image, color processed raw images and rectified images. These image textures are mapped to the surface of a 3D object. - Ladybug off-screen image pixel format has been changed to 32 bit BGRA format. See API function ladybugRenderOffScreenImage(). - Modified ladybugCaptureHDRImage example to use ladybugRenderOffScreenImage() defined in ladybugrenderer.h, which is hardware accelerated, to render the stitched HDR images. This example has also been modified to start Ladybug2 cameras. Ladybug cameras earlier than Ladybug2 are not supported. - Modified ladybugPanoStitchExample to use ladybugRenderOffScreenImage() defined in ladybugrenderer.h, which is hardware accelerated to render stitched images. Version 1.2 Beta 26 - 01 June 2007 - Fixed rare bug that would cause a crash during JPEG decompression. Version 1.2 Beta 25 - April 25 2007 - Added a button and a menu item in LadybugCap to reset the error counters on the status bar. - Fixed a bug in panoramic image rendering process. The distortion on the top of the panoramic image is reduced. - Fixed a bug in ladybug3dViewer project. The stitching line at the edge of the rendered 3D image has been removed. Version 1.2 Beta 24 - April 20 2007 - Added support for dual core CPUs when using JPEG compressed images. - Improved Ladybug image graphics card loading performance. - Consolidated documentation into a single CHM help file. - Added tutorials on how to use OpenGL hardware acceleration, stream file API functions and GPS functionality. - Added LadybugSimpleGPS example to show how to grab GPS data from a GPS device and integrate it with a Ladybug. - Corrected some errors in 'Ladybug Stream File Specification' document. - Removed CompressorHeaderInfo class from LadybugCap project. If users need to parse Ladybug raw image data, the detailed information can be found in 'Ladybug Stream File Specification'. Version 1.2 Beta 20 - 22 February 2007 - Added missing ladybugstream.h to the installer. Version 1.2 Beta 19 - 20 February 2007 - Added LadybugCapPro, a new application designed to make it easier to use the Ladybug2. - Added Ladybug stream file API functions for writing or reading Ladybug stream files. - Added documentation of Ladybug stream file format. - Simplified ladybugInitializeOpenGL() API function. As a result, several OpenGL functions have been deprecated. Please see the API help for more information. - Added ability to save images as JPGs using the new ladybugSaveImage() function. - Created a new example project - ladybugPanoramic. It shows users how to make a Windows application start a Ladybug camera and display images. - Created a new example project - ladybugStreamCopy. It shows users how to read and write Ladybug stream files. It is used to copy Ladybug images from one stream to another. - Fixed bug4873 - delete the temporary calibration file generated by Ladybug library. - Modified ladybugPanoStitchExample to show users how to grab Labybug2 images and get a panoramic image. It also shows how to use Ladybug stream API functions to read images from a Ladybug stream file. - Performance boost for newer model CPUs Version 1.2 Beta 18 - 08 January 2007 - Fixed compilation error in LadybugCap example that might occur on systems running VC++ 6.0 only. - Updated Ladybug API documentation. Version 1.2 Beta 17 - 02 January 2007 - Added ladybugGetLibraryVersion() API function to get the version number of the Ladybug library. - Fixed a bug in drawing cylindrical panoramic view. - Added a new API function ladybugChangeDomeViewAngle() to set the viewing angle for the dome view. Version 1.2 Beta 16 - 15 December 2006 - Added LADYBUG_MONO image processing method. This processing method is similar to LADYBUG_DOWNSAMPLE4 color processing method. It only uses the green color channel to generate grey scale Ladybug images. It is designed for fast image preview and it is only used for displaying JPEG images. - In LadybugCap, users can now select 'Mono' image processing method for fast image preview. Version 1.2 Beta 15 - 05 December 2006 - Added ladybugDrawAllCameraImage() API function to draw all six camera images in one viewing window. - Modified Ladybug library - Improved Ladybug image display rate. - Deprecated ladybugInitializeSingleImage(), ladybugInitializePanoramic(), ladybugInitializePanoramicEx(), ladybugInitializeSpherical() and ladybugInitializeDome(). - Users do not have to call ladybugGet3dMap() to get 3D-map and initialize views. It is done automatically in the library. - Added ladybugSetOpenGL3dMappingGridSize() API function. - Added ladybugSetPanoramicMappingType() API function. - Modified LadybugCap - Removed calling ladybugGet3dMap(), ladybugInitializeSingleImage(), ladybugInitializePanoramic(), ladybugInitializePanoramicEx(), ladybugInitializeSpherical() and ladybugInitializeDome(). - Texture images are now updated directly in CLadybugCapDoc instead of calling a function in CMainFrame. - Changing panoramic mapping-type and view-angle can be made without pausing the grab thread. - LadybugCap is now started with a panoramic viewing window and a six-camera image window. - Added a slider bar in Camera Control Dialog to set the percentage of the buffer to be used in auto JPEG mode. Version 1.2 Beta 14 - 05 October 2006 - LadybugStreamReader class now returns data format, resolution and image size info in LadybugImage structure. - Implemented dome view display in LadybugCap. The 2 possible projections are a full Ladybug dome projection and a 180 degree fisheye projection. - Improved video quality and stability of Shockwave viewer. - Separated GPS context from Ladybug context. Version 1.2 Beta 13 - 26 September 2006 - Improved LadybugCap recording speed by using Win32 API CreateFile() and WriteFile(). - Integrated GPS (Global Positioning System) with Ladybug2 images. - Supports NMEA data format. If a GPS device is connected to a serial port, the received GPS NMEA sentences are written in every image in text format. - Users can get all the recorded NMEA data or text sentences by calling Ladybug GPS API functions. - GPS data is written to Ladybug stream file if it is available. - Added Ladybug head unit serial number and base unit serial number in LadybugStreamHeadInfo structure. - Added dome projection API functions. - Limit Ladybug2 stream file to 2G bytes instead of 1G bytes. - Fixed a problem in starting Ladybug camera with LadybugCap. - The LadybugCap can output compressed panoramic AVI files. - Modified ladybugPanoStitchExample. It may be used to process the image from a specified stream file. - Improved configuration file loading speed from the head. - Fixed bug4188 - Reenable auto shutter and gain at the end of LadybugCaptureHDRImage example. - Added Shockwave panoramic AVI viewer. This allows users to view videos captured by LadybugCap in a web browser. Version 1.2 Beta 12 - 12 June 2006 - Added new API functions ladybugSetBusSpeed() and ladybugGetBusSpeed() to set or get the current isochronous bus speed and the current asynchronous bus speed. - LadybugCap allows users to open a new camera or stream file from the 'File' menu. - Changed the Camera Selection Dialog to show all the Ladybug cameras on the bus. - Users may select one of the cameras to start. - 'Configure Selected' button opens the Camera Control Dialog. - In the Camera Control Dialog, the 'Misc' property page has been named 'Custom Setting'. It is used to set parameters for Ladybug2 bandwidth negotiation. - Users can set the packet size, image size and compressor rate. The image size determines the receiving buffer size. - The compressor rate is calculated automatically based on the image size and packet size. It is the maximum frame rate between the compressor and computer. - Press the 'Set' button to write the packet size and image size to the camera. - To get the maximum frame rate between the compressor and computer, press the 'SetToHead' button to set the compressor rate value to the camera head. - Added frame rate information in Ladybug2 stream file - Added ulFrameRate in LadybugStreamHeadInfo structure - The frame rate value is written to the AVI file - Improved stream file image processing dialog - Removed the items that appear when right clicking on the selected images and replaced them with a selection drop down menu in the dialog - The output directory can be changed in the dialog - Display the written file name on the status bar - Only process the selected images - Fixed bug3936 - Corrected an error in panoramic view drawing - Fixed bug3965 - Corrected an error in drawing cylindrical panoramic view when the top camera is set as the front camera - Fixed bug2861 - Implemented spinning support in ladybugCap 3D view. Releasing the mouse button while dragging causes the sphere view to rotate. - Fixed bug3881 - LadybugCap is now able to rotate panorama view Releasing the mouse button while dragging left or right causes the panorama view to rotate. - Fixed bug3664. The default alpha mask path name is set to the path where the application is. - Fixed bug3880 - LadybugCap uses single key strokes to save images for the live camera - F6 save JPEG images - F7 save Color processed images - F8 save Rectified images - F9 save 512x256 Panoramic - F10 save 1024x512 Panoramic - F11 save 2048x1024 Panoramic - F12 save 3500x1750 Panoramic - Added ladybugBusEnumerateCameras() API function to enumerate all of the Ladybug cameras found on the 1394 bus. - Modified ladybugStartEx() and ladybugStartLockNextEx() API functions. If both uiPacketSize and uiBufferSize are not specified or specified as 0, as default, these API functions will use the current packet size and buffer size in the camera. These values may be set by the camera control dialog. - Fixed bug3738 - Added a JPEG decompression quality selection Combo box in the image dialog. - Since firmware 0.0.0.14, Ladybug2 images contained time stamp information from the camera. When Ladybug2 camera is started, the initial time stamp value is set to the time stamp register in the camera. - Fixed bug3507 - the calculation of real gain and shutter values in LadybugCaptureHDRImage example is now correct. - Fixed bug3509 - HRate value in LadybugImageInfo is now updated. - Fixed bug3454 - Ladybug2 stream file data now has a time stamp. Version 1.2 Beta 11 - 14 December 2005 - Ladybug now can detect JPEG decompression errors. If the JPEG image data is corrupted, the API function ladybugConvertToMultipleBGRU32() returns LADYBUG_JPEG_ERROR error code. - Added a new tooltip on LadybugCap status bar to display the number of the caputured JPEG decompression errors. - Added a new button in LadybugCap to disable or enable displaying the grabbed Ladybug images. - Deprecated Ladybug API function ladybugGetJPEGErrorCount() and ladybugResetJPEGErrorCounter(). Version 1.2 Alpha 10 - 01 December 2005 - Ladybug can automatically control JPEG compression quality. Users can set it in the Camera control dialog or by calling the two new API funtions ladybugSetAutoJPEGQualityControlFlag() and ladybugGetAutoJPEGQualityControlFlag(). - Fixed bug1280 - added two new API funtions to read or write camera register data block. - LadybugCap can save a live camera image as Bayer channel JPEG images, color processed images, rectified images and stitched panoramic image. - Added three new API functions: ladybugGetPropertyEx(), ladybugSetPropertyEx() and ladybugGetPropertyRangeEx(). - Display camera information on LadybugCap status bar with tooltips. - Modified Ladybug API function ladybugInitializeOpenGL(). Users do not need to specify the last two parameters for OpenGL initialization. - Fixed bug3361 - Save six rectified images to disk from loaded Ladybug stream. - LadybugPanoStitchExample project has been modified to work with both Ladybug1 and Ladybug2. - Fixed bug3518 - LadybugCap can save and read stream files in LADYBUG_DATAFORMAT_SEQUENTIAL data format. - Fixed bug3524 and bug3519 - Refresh LadybugCap tool bar and status bar. - LadybugCaptureHDRimage example project has been modified to work with both Ladybug1 and Ladybug2. - Fixed bugs in calculating real shutter and gain values in LadybugCaptureHDRimage example. - Fixed a memory leak problem. - Disabled 'Reset Pointer' button if the camera is a Ladybug2. Version 1.2 Alpha 09 - 21 September 2005 - Ladybug User Manual, Ladybug API Manual and Ladybug2 Getting Started Manual are added to replace previous Ladybug User Guide. - Remove LadybugImageInfo from LadybugStreamHeadInfo structure. - Fixed bug3456,3457 - Ladybug2 stream file now has image sequence number and time stamp information. - Modified LadybugSimpleGrab example to support Ladybug2. - Remove ladybugUberUtil,ladybugStreamToFileEx and ladybugSimpleHD examples. Version 1.2 Alpha 08 - 13 September 2005 - Fixed bug3243 - Offline panoramic image rendering is now hardware accelerated. Ladybug use OpenGL card to generate off-screen panoramic images. Added three new Ladybug API functions - ladybugInitializeOffScreenImageBuffer() - This function allows users to set the off-screen image buffer size. This function has to be called to initialize the off-screen panoramic image buffer. - ladybugGetOffScreenImage() - This function is used to get the the panoramic image from the off-screen image buffer. Be sure to call ladybugUpdateTextures() to update the camera images to OpenGL texture buffer before this function is called. - ladybugReleaseOffScreenImageBuffer() - This function is used to release the off-screen image buffer. - LadybugCap now uses the three new off-screen panoramic API functions. - Fixed bug3326 - Panoramic image can be rendered correctly for Ladybug stream file. - Fixed bug3367 - LadybugCap is able to set different viewing angle for Panoramic image and AVI output. - Implemented bug 3402 - falloff correction will now account for gamma setting - ladybugConvertToMultipleBGRU32 will automatically extract the gamma setting from the supplied LadybugImage to make sure that its falloff is corrected with the appropriate gamma, no user changes are needed. - The following two functions have been added to allow user to explicitly specify gamma in the situation where the ladybugImage head info is not available :ladybugCorrectBGRUFalloffEx() and ladybugCorrectStippledFalloffEx() - The existing ladybugCorrectBGRUFalloff() and ladybugCorrectStippledFalloff() are kept for backward compatibility and they will both use a default gamma(1024) setting to handle the correction. - Fixed bug3345 - LadybugCap is able to write the selected images from the opened stream file to another specified .pgr stream file. - Fixed bug3311 - User can configure stitched image resolutions. - Fixed bug3268 - Split AVI files at 1GB boundaries. - Fixed bug3404 - Remove unused Format and FrameRate tab. - Added a API function ladybugSetAlphaMaskPathname() to set the alpha mask directory. If this function is not called to set a directory, Ladybug will use the current directory to open and save alpha mask files. Version 1.2 Alpha 07 - 12 July 2005 - Fixed bug 3294 - LadybugCap can now save stitched image and AVI file with LADYBUG_DOWNSAMPLE4 color processing method. - Fixed bug 3299. Some LadybugCap example source code files have been added to the installation program. - Fixed bug 3300. Ladybug.dll and LadybugGUI.dll are copied to the system directory when Ladybug is installed. Version 1.2 Alpha 06 - 08 July 2005 - Implemented ladybugStartEx() and ladybugStartLockNextEx() to start Ladybug2 with specified packet Size and Buffer Size. - Modified LadybugCap to start Ladybug2 with frame rate 30. - Implemented ladybugWriteConfigurationFile() to write the Ladybug configuration data to a specified file. - Implemented bug 3155 - supporting cylindrical panoramic in addition to the original radial panoramic. - A new enum LadybugMapType enumerating the mapping type supported by the library (radial or cylindrical). - ladybugInitializePanoramic and ladybugSetPanoramicImageSize have the same calling interfaces as before and are defaulted to initialize a panoramic to render in radial mapping mode. - Two new functions are added: ladybugInitializePanoramicEx and ladybugSetPanoramicImageSizeEx. Both perform the same functions as their non-ex counterparts except that they accept an additional parameter allowing the caller to choose which mapping mode the panoramic is performed. - ladybugDrawPanoramic and ladybugGetPanoramicImage have the same calling interfaces as before, and the resulting panoramic images depend on what mapping mode the panoramic was initialized with. - Implemented a new stream file format that has Ladybug2 camera configuration data in each recorded stream file. - Implement stream file playback feature in LadybugCap. Users can read stream file and display the stream images in LadybugCap. - LadybugCap can be started with a stream file even without Ladybug2 camera attached on the bus. - Fixed bug 3019 - Camera Control Dialog update 'JPEG Compression Quality' on the Misc tab. - Fixed bug 3177 - LadybugCap can now be started with NVIDIA GeForce 6600 GT video cards. Version 1.2 Alpha 05 - 12 May 2005 - Add shortcut for Ladybug example projects Version 1.2 Alpha 04 - 05 May 2005 - Fixed bug 3019 - LadybugCap 1.2a3 does not work with a Ladybug device. - Fixed bug 3008 - Implement ladybugSetGrabTimeout function. This function allows the user to set the timeout value for grab functions. - Fixed bug 3059 - Initialize Ladybug2 at S400 speed to ensure compatibility with 1394a. - Fixed bug 3061 - Expose bus speed in Ladybug API. Users can get the maximum bus speed by calling ladybugGetCameraInfo(). - Fixed bug 3120 - LadybugCap should destroy the grab thread before destroying Ladybug context. - Fixed bug 3141 - Save file(s) as stitched image(s) does not work in LadybugCap. - Implemented bug 2910 - Software is now capable of loading calibration files from Ladybug2 head unit. - Now support no color processing of images. - Improved frame rate calculations in LadybugCap - Improved compressed file access times. Version 1.2 Alpha 03 - 10 February 2005 - Fixed bug 2898 - Color processing method selection in LadybugGUI. - Fixed bug 2883 - Slider in LadybugGUI to indicate JPEG compression quality. - Implemented bug 2870 - Image size now embedded in alpha mask filename so that alpha masks do not need to be recalculated for each resolution change. Please delete existing alpha mask .pgm files. - Fixed bug 2927 - Corruption at bottom of images. - Fixed bug 2938 - When no .cal file is found, corrupt images when LadybugCap switches to or from the Downsample4 colour processing algorithm. - Fixed bug 2951 - Falloff correction not being done with Ladybug2. Version 1.2 Alpha 02 - 5 January 2005 - Fixed bug 2317 - Panoramic and 3d views available at downsampled preview modes for Ladybug 1. Version 1.2 Alpha 01 - 23 December 2004 - Major API changes. This version is not backwards compatible with any previous version. Please recompile your code. Please see ladybug.h and the examples. - Added support for Compressor and Ladybug 2. Version 1.1 Alpha 19 - 2004 - Fixed bug 1343 Disabling color processing no longer overwrites alpha channels that are used for blending control. - Fixed bug 1609 ladybugExtract...() should only output images for processing cameras - Implemented bug 1652 ladybugSetPanoramicViewingAngle() and ladybugGetPanoramicViewingAngle() are added to allow user to select the viewing angle with which the panoramic images will be generated. Version 1.1 Alpha 18 - 23 September 2003 - Fixed bug 1572 - add the ability to color process only a single image New functions added : - ladybugGetProcessingCameras() - ladybugSetProcessingCameras() The following set of functions now supports the processing of only a subset of camera units with the use of ladybugSetProcessingBitMask() : - ladybugRotateBGRUImages() - ladybugCorrectBGRUFalloff() - ladybugCorrectStippledFalloff() - ladybugAddAlphaChannel() - ladybugExtractStippledToBGRU32() - ladybugConvertToMultipleBGRU32() - Correct implementation of falloff attenuation so that the antenuation factor only modulates the correction not the input - Fixed bug 1361 New error code LADYBUG_NEED_RECTIFY_RESOLUTION added to report occassions when user requests services which requires the knowledge of target rectify resolution without having previously setting it via LadybugSetRectifyResolution(). Version 1.1 Alpha 16 - 11 August 2003 - New functions added : - ladybugAddAlphaChannel() - load alpha channel into a BGRU image. - ladybugExtractStippledToBGRU() - perform color processing on stippled input images. - ladybugRotateBGRUImages() - rotate BGRU images from portriat back to landscape mode. - Implemented bug 813 - runtime intensity falloff correction support - Fixed bug 962 - rotated bayer pattern is now handled correctly - Implemented bug 1167 - PGRCameraGUI.DLL and PGRCameraGUI.LIB have now been replaced by PGRFlyCaptureGUI.DLL and PGRFlYCaptureGUI.LIB. YOU MUST RELINK YOUR EXECUTABLES THAT USE PGRCAMERAGUI.DLL. The API is the same, and it is still exposed by pgrcameragui.h. There will be some future deprecations in API functions. Please see pgrcameragui.h for details. This change will encourage future compatibility between SDKs. - Fixed bug 1039 - hitting tab in the camera properties dialog does nothing. - Implemented bug 1457 - Allow user to control the extend of blending over area where two or more camera view overlap this can be set either via the ladybugSetBlendingParams() API function or the context file by adding a MaxBlendingWidth line in the calibration file. - Added ladybugLoadAlphaMap() to allow user to check and load previously generate alpha maps without automatically generating them if they were absent. - Fixed bug 1504 - Crash when starting LadybugCap with no base unit and no config file. Version 1.1 Alpha 15 - 3 July 2003 - Fixed bug in panoramic pole rendering, that is rendering the pole for the 2d panoramic radial image Version 1.1 Alpha 13 - 5 March 2003 - Fixed bug 1243 - Runtime and init time memory usage. One of the fixes for this bug was to switch back to using floats instead of doubles in the LadybugPoint3d structure. You must change and recompile your code. - Removed the unimplemented ladybugGetLastError() API call. - The ConvertToBGRU32 functions now only write the alpha mask to the destination buffer the first time they are called, which will speed up continuous processing. If you won't wish to reuse destination buffer for multiple calls to ConvertToBGRU32 functions, please call ladybugSetAlphaMasking( true ) before each call. Version 1.1 Alpha 12 - 28 February 2003 - Fixed bug 1232 - Occasional crash in debugger. Version 1.1 Alpha 11 - 20 February 2003 - Fixed bug 1209 - invalid assert(). - Fixed bugs 751, 1198, 854: Major colour processing overhaul. - Fixed bug 1215 - Hole at top of panoramic image. Version 1.1 Alpha 10 - 20 January 2003 - Minor fixes Version 1.1 Alpha 9 - 15 January 2003 - Major low-level changes in image buffer handling. Version 1.1 Alpha 8 - 9 January 2003 - Better panoramic image assembling. - LadybugCap will now read *.cal files based on the serial number of the head unit. config.ladybug is no longer required. Version 1.1 Alpha 7 - 2 January 2003 - Implemented bug 1088 - LadybugCap support for downsampling preview modes. - Implemented bugs 1093 and 1094 - Ladybug subordinate feature support in API and PGRCameraGUI. - Implemented bug 1152, etc. PGRCameraGUI.dll now reports heard firmware version. - Implemented bug 1148 - "Better" panoramic image generation. - Fixed bug 1158 - The LadybugCap window now comes up so the user has something to look at while the alpha masks are being generated. Version 1.1 Alpha 6 - 28 October 2002 - Added support for valid LadybugImageInfo structures for all preview modes. Version 1.1 Alpha 5 - 25 October 2002 - First release with new API versioning information. Please take a look at the new header files. We welcome feedback on this new way of handling API updates. - Fixed bug 1063 - Problems repeatedly creating and destroying context - Fixed bugs 1080 and 1023 - New LadybugImageInfo structure. Please see ladybug.h for important changes! - Fixed bug 1062 - problems with image info structure at various framerates. - Various other fixes. Version 1.1 Alpha 4 - 15 October 2002 - Added /nogl command line option to LadybugCap. This option will cause the application to revert to simple bitmaps for displaying, rather than the OpenGL implementation. - Several other fixes. Version 1.1 Alpha 3 - 20 September 2002 - Now distributing 3 new source examples: - ladybugCap - ladybug3dViewer - standalone viewer for panoramic images. - ladybugPanoStitchExample - API example for stitching images. Version 1.1 Alpha 2 - 12 September 2002 - All HD image extraction functions now return a LadybugImageInfo structure. - OpenGL views in LadybugCap are now resizable. Version 1.1 Alpha 1 - 6 September 2002 - ladybugGrabImage() has been removed and replaced with the function formerly named ladybugGrabImage2() - Major changes to OpenGL blending. - Added panoramic image functionality. - Implemented bug 910 - Voltage reading API. - Implemented bug 995 - Status bar readout. - Removed all functions that supply rotated images. It is now up to the user to rotate displayed image if they wish. - Renamed many API functions for clarity. - Added extended image information support. See the LadybugImage structure and the LadybugImageInfo structure. - Now reporting both base and head serial number in LadybugCameraInfo structure. Version 1.0 Beta 8 - 6 August 2002 - Minor bug-fixing release. - Note that the API documentation has not been updated; see ladybug.h for details. Version 1.0 Beta 7 - 19 July 2002 - SIGGRAPH bugfixing release. - Changed all colour image formats from BGR24 to BGRU32 in order to rectify more easily. - Added rectification and 3d mapping functionality. - Added new 3d View in LadybugCap. Version 1.0 Beta 6 - 16 May 2002 - LadybugImage now contains the rows and cols of a single image. Version 1.0 Beta 5 - 22 April 2002 - Implemented bug 801 - Confirm dialog on HD write pointer reset. - Implemented bug 832 - Now displaying rotated images in LadybugCap. - Implemented bug 710 - Added a few more LadybugCap image scaling options. Version 1.0 Beta 4 - 16 April 2002 - Fixed a few bugs that were introduced when the C API was implemented. - Note that c:\temp is used for storing temporary images, and if there are any leftover images from a previous aborted run of processimages.exe, you must delete them. This is PGR internal bug 732. Version 1.0 Beta 3 - 22 March 2002 - No known bugs at this time. - This is the first release of the Ladybug C API. Version 1.0 Beta 2 - 15 March 2002 - No known bugs at this time. Version 1.0 Beta 1 - No known bugs at this time. This software is based in part on the work of the Independent JPEG Group.