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.


PETROG 5.2.0

Release date : 2023-02-21


Password management: management of 'postgres' login role password now working with new mechanism (PetrogPasswords), and also has option to modify the password again in Petrog, from menu option Admin | Database Management | Password Management.  

Now only allowsone password to be changed in a single session.

Further updates to the v5 software manual.

Report to Printer

New in this release is the option to generate customised PDF reports.  PETROG v5.2 extends the existing Report to Word functionality, and generalises this so that a report can be sent directly to a printer, including print to PDF.

There is an additional Print Report Editor that allows you to create a report template, telling PETROG what data to include in the report, header/footer information, and selection and placement of images in the report (i.e. photomicrographs collected during a point count).  

Revisit/Review Selected Points, plus option to Translate AoI

After collecting point count data for a sample, you may wish to step back through only grains of a specific type.  This can now be achieved with the new Review Selected Points feature, which can be used to sub-select the points in the Area of Interest (AoI) by Class, so for instance you can choose to only show the Quartz grains.  

There is also the new Revisit Selected Points option to define your own Points of Interest, saving these with a Name, Reason and Description. Both of these options are more useful in conjunction with the new option to translate an AoI from one microscope to another.  

So for instance, the SteppingStage could be mounted on an electron microscope, and then a mapping found between the existing AoI (defined on the polarising microscope) by locating the same part of the slide that was previously at the bottom-left of the AoI and translating the AoI based on this.  Then, if the electron microscope is made active in the PETROG Hardware Combination, then this translation will be automatically applied.  Revisiting or Reviewing Selected Points will then allow you to step through points of a specific type or defined Points of Interest, on the electron microscope.

Petrog Virtual Keyboard (PVK)

New in PETROG v5 is the PETROG Virtual Keyboard (PVK).  PVK works with existing Keyboard Mappings, and transforms these to ‘soft keys’ on a touchscreen device communicating wirelessly with the computer and SteppingStage, to provide easier, faster, more accurate and more detailed data entry.

Any existing Keyboard Mapping can be exported to a .pkm (PETROG Keyboard Mapping) file, which can then be imported into the PVK Editor, creating a set of keys which can then be organised on to different tabs, and repositioned/sized/coloured in order to maximise productivity when using the PVK application (Windows or Android) for logging during a point count.

Grain outline logging

Changed the field type for the 'outline' data in tblQuantTextDetail from character varying (TWideMemoField) to character varying (8192) (TWideStringField), fixing a long-standing problem with saving grain outline data (that was triggering 'record not found or changed buy another user'); includes re-factoring of code in SaveQuanTextGrain, grouping together updates by type (quan text, est text, grain outline) to make it easier to find out what is going wrong when there is a problem; and other changes whilst testing grain outline logging; changes to interface and functionality in the Annotation Control Panel.  

Multi-select of nodes, and auto-select of "in between" nodes for tagging.

Node tagging now works with multi-selected nodes.

Fixed bug when saving a polyline after adding node tags - checks for existence were not taking place, so it was ending up with two CQuanTextGrains with the same sequence number (two copies of the same polyline, one with the node tags and one without).

Improvements to user interface for saving data - OK button enables only when data has been added or edited at the current point, and there are instructions displayed.

Improvements to options for clearing existing tags.


All cameras

FMXHYBRID versions of PETROG now available for all cameras, although not necessarily tested.  This version can offer improved frame rates and better performance when collecting images for stitching.  The default is still to run the VCL version - in the next release FMXHYBRID will become the default for all users.

FormShow was not calling the inherited version from ImageWindowBaseFMX (which meant that ProcessPanelResize was not being called on start-up, because isFormShowComplete had not been set to true; with the result that zoom was broken).

Added check for genericCamera being nil in TfrmImageWindowPanelAndImg.ProcessPanelResize, which can occur and trigger an access violation if no camera is connected.

Removed 2 pixel margin for image fit for all FMX cameras.


Fixes for GetLargestFrameFormat which was not working in the previous v5 release; also now supports hardware ROI.


Better error reporting when doing a white balance in the case the selected region is too dark; fixed bug with loading a camera preset (incorrect number of parameters, due to inclusion of live and still modes in the generated string).


RefreshImage was hard-wired to run code relating to screencasting - changed as this had a negative impact on performance.

Set numConsecutiveFrameClipFailuresAtWhichToReport to 100 for LEICA_DFC, as 25 failures do occur when entering "collect images for stitching", and we want to ignore these.

Suppressed GetImage(bmp) failures in RELEASE version, as these do happen when "collect images for stitching" is initialising, and we want to just ignore them.

Fixed problem with "collect images for stitching" for Leica, by adding a call to LeicaImageThread.ProcessImage (now a public function) from VirtualImage to force the image to update.


Minor updates (frame rate calculation, DLL checking) whilst testing both VCL and FMXHYBRID versions with the camera.


Commented out textLogger write for ecetExposureEnd, and updated commentary in this area of the code;

fixes for error messages in hardware ROI mode, by suppressing messages when first call to StopStreaming fails, and then trying again after a short wait is successful.

improved error capture and handling in NikonDS - especially when resizing.

Fixed -4 error setting ROI metered area, and -10 error for simulator initial exposure.

Fix for division by zero error in SetFeatureValuesROI (trapping resVal = 0 in ModifyToRes)

Default is now software ROI, as hardware ROI is not supported for DS-Ri2 and DS-Fi3.  If running with DS-10, a message is displayed recommending switching to hardware ROI.

Fixed some issues in GetFrameWidth/Height that were preventing an image from appearing for certain cameras/resolutions.

Data styles


Further testing and subsequent changes related to workflow request from Arthur Harrisson; includes tidy-up of "Sub-select" button and displayed information in QuanTextEdit.

Add Alite and Belite to table deriveditem.

Ability to set grain target for all classes, via a new dialog; also can set any to zero.

Can now set the default class for textural measurements when stopping collection of compositional data, and controls under GrainSizeTargetOptions now enabled dependent on settings under Data Collection Options; also generalised TQuanTextTargetStatus.GrainTypeCountsVsTargetsAsStr for all data styles.

Added setting of materialID and materialName when defaulting compositional data.

Fixed problem with defaulting to "Belite" after compositional data collection is turned off, now working as required.


some minor tidy-up whilst working on this for PVK and general testing


Now checks for permission to write to specific locations (photos, password file, debug files)

Bug fixes

Fixes for NoCamera version, so compositional logging can be undertaken without error messages

Made error message in PopulateCompoundItemIDs, when unable to locate an item, log to debug file only in RELEASE (i.e. not show on screen)

Updates to TfrmDBDataUpdates.UpdateDataV5100_LithSirte_LithSirt, as there was a situation where this could give a "dataset not in edit or insert mode" error,

if trying to post updates when neither of the previous Locates had been successful

Keyboard mappings: fixed some memory leaks; fixed bug when importing keyboard mappings from text files where 0-9 numeric keys have been used.

Changes in IsGrainSizeGivenYet, so that the case where non-numeric text is accidentally entered into this field is handled rather than triggering an error.

Fixes for estimated textural, data entry and data edit problems, plus found that changes to concurrent logging had broken saving of estimated

textural data in standalone mode).

TTreeView, fixed bug showing 1st line twice (and bug arising from previous fix for same issue).

Fixes for problem with UpdateDataV5035_XRDChangeOverToExcel.

Fixes for some problems with importing XRD whole rock data.