e-mail :

Registered in England and Wales company # 03449181.
 This website does not use cookies.

 © Copyright: Conwy Valley Systems Limited  2000-2024

Conwy Valley Systems Limited,

West Acre, Llys Helyg, Deganwy

CONWY LL31 9BN, United Kingdom.

VAT# GB 741 5190 48

A Geoscience Wales  founding member.

PETROG includes patent protected technology.



Release date : 2020-10-09


This is an interim, preparatory release intended to make ready for the next major release, which will have new features in stitching (making mosaics) and analysis of the stitched images. Much of the work that has gone into this release is therefore on camera support and the underlying technologies of handling images.

Alongside these changes, we have needed to change the way we manage images, to stay in line with the way Microsoft Windows operating systems handle released memory. Because of the very large number of images collected by PETROG during a session, whether or not they are saved to disk, just because they are displayed on a monitor means that memory is used and then freed-up at an alarmingly high rate. Some of our users were seeing messages informing them that they had run out of resources, even though PETROG was managing its memory usage entirely in line with Microsoft Windows policies, which forced us to re-write the low-level image management in PETROG.

This has been a huge task but is now in its final stages, with the majority of supported cameras 'under new management'. For the next release, we expect to be able to return to the task of providing new and improved functionality for digital petrography.

Bugs (reported since last release ( and fixed in this release):

Symptom: Some data collected in Concurrent mode (compositional and textural combined at the same point) could be displaying incorrectly in edit and report windows, or not showing an image when requested.

Symptom: zero grain sizes were being included in histogram for mm but not for phi or Wentworth. Corrected in this release.

Symptom: manual move and auto move modes behaved differently. Corrected in this release.

'Focus' issues, i.e. which window or dialog has the focus during logging: Symptoms included hotkey list window not at the front after 'increment logging' is called during a point count; grain size measuring dialog retaining the focus after the grain has been measured, and others. Corrected in this release.

'Current sample' being changed by a report and not reset afterwards

Fix for crosshair calibration window, image not updating when clicking Update.  

New Features:

New "Magic Mouse" option available when viewing Virtual Images, and added options for frame on/off and size.

Extending grain size counts to have separate targets for each grain type.

Use of colour to indicate progress in the data summary window - when the latest entry is red, it means it is a partial string, and more compositional information is yet to be entered; when the latest entry is blue, the compositional description has been completed but textural information has not yet been entered and is expected.

New dialog, Reporting Options, includes option to include or exclude zero grain sizes in reporting. Logically should only be 'exclude', so it is set to this on Create (i.e. it is not persistent across runs) but the option is there in case we need to reproduce previous behaviour.

More on perimeter tool - selection and display of active calibration - tag modes are now "coat" and "contacts", and now calculating Dutton formula; more on annotation - major/minor axis values and perimeter are now being displayed correctly when viewing the data in Data Edit; also, fixed a memory leak in TfrmQuanTextEdit.SetBinVals.

Adding error trapping to TfrmConcurrentDataManager after crash requiring re-start.

Extend open-ended count (fixed step size) to elliptical.

Camera settings: as per request from Charlotte Moller at Lund, made the option available and visible to zoom in/out when the user is adjusting camera settings; also handled the default sizing of the camera settings window for TIS, as for this camera it needs much less screen real estate.

New Cameras Supported:

An additional range of Olympus cameras are now supported, including the SC50 camera.

ToupCam: the full range of cameras from ToupTek Photonics is now supported in PETROG. Our first ToupCam user is in the People's Republic of China.

Zeiss: testing the new methods relating to analog gain / sensor temperature / frame time; addition of sliders for analog gain and frame time.


Fixed the option for selecting a PPL/XPL association and setting the reference points.

When zoomed fully out during a point count, the saved high-mag images were incorrect because the choice of image saved (zoomed or full) was purely based on the project option specified - now checks the zoom percentage also; for TIS only, the overlay transform calculation was always using the zoomed width/height, and so overlays on full images were not in the correct position; also fixed a bug relating to floating point objectives, due to inconsistent usage of single and double types.  

Checked in a fix for 'Sum Never' not showing individual counts. This is achieved by showing the 'observed' data, because the 'edited' has been summed and written back as sums so cannot now be separated out.

We now default the height of PetrogCameraParameters by setting the height explicitly in the inherited Create in GenericCameraParameters; also, we only set the height in SetWindowPositions if it is greater than the active height (otherwise the form can be made smaller and this hides important controls)/

Bug fixes for concurrent logging - logging manager now working correctly for first point, and we now do not check the length of the saved record when saving to the database on exiting logging when the last action was a Back command.

Changes whilst investigating calibration error reported by Bello at Durham: a "bad" calibration with a zero denominator is now handled in CalibrationData.pas rather than triggering an exception; general changes related to textural logging from images.

Updated ChangeInGrid, including now using DLocale.CheckStrAgainstExpectedDecimalSeparator to warn if the wrong decimal separator is entered.