LAS Viewer


Development version of LAS Viewer

Download (05-Sep-2023) 

Interpretation of water injecton profile
2D and 3D representation of multifinger caliper data
Add areas between two curves, or between a fixed value and a curve
Paste pipe tally and use the generated markers for depth reference
Show current values for selected log pass at mouse cursor
Browse DLIS file-headers and convert DLIS files to LAS


* Totally and completely FREE to use for whatever you want and give to whoever you want.

- Dynamic linkage to the QT framework (https://www.qt.io)

* Allows visualization and manipulation of Log ASCII Standard(LAS) Files

- Only supports LAS v. 2.0 at this point

* Convert DLIS(Digital Log Interchange Standard, RP66 v.1) files into LAS

- The RP66 v.1 DLIS format is not fully supported.

* Browse DLIS Header Data

* Spinner calibration of PLT passes

- Interpretation of water injection rates based on caliper/spinner readings

* 2D/3D Visualization of Multifinger Caliper data

* Paste well info from Excel files

* Perform math operations on data (using the muParser library)

- Write arbitrary equations and map variables to log data

- http://beltoforion.de/article.php?a=muparser

* Export data to LAS or Excel

        - Using Simple SimpleXlsx (https://sourceforge.net/projects/simplexlsx )

* Perform depth-shift and depth-stretch to correct for bad correlation or depth counter slippage

* Create custom views with data from all available surveys

- Fill area between curves and between curve and value

* Curve Trackers that will show the value of the currently selected log pass in all data views

* Generate well sketch and populate with components like plugs, fishes, leaks etc

* 2D and 3D visualization of well trajejctory

* Still lots of features to be added and bugs to be fixed!!


Change Log:



* Updated WellSketch dataview

*  Now uses Pipe Strings instead of pipes. Pipe input still available but will automatically be converted to Pipe Strings

* Changed WellDetails input and validation

* Fixed bugs in volume calculator and WellDetails



* Copying and pasting pipes in the well details dialog now includes the flag indicating whether the pipe is a tubing or not



* Misc bugs:

      - Timelog not changing depth when updated in data browser

      - Unable to select spinner in spinner calibration if the Mmen is the first in the LAS file

      - DLIS converter now remembers selected channels between sessions



* MFC 3D view / Cross section now contains the MNem + filename



* Added option to specify scale on MFC Cross Section View

* Added option to specify MFC 3D Color scale based on min/max diameter(in addition to radius)

* Pipe description in well sketch more detailed when clicking on pipes



* Curve Info Editor for DataStorageChannels (to allow for a more descriptive CurveInfo for e.g. math operation channels)

* Generate a data-view of the inner pipe-wall to use for comparison with Max/Min Multifinger caliper radius

* The Component-info overlay now also work with Zones

* Fixed quite a few bugs (in WellSketch, Interpretation, FillArea table, Well Details...)



* Added overlay window for displaying well component info when clicking on an item

* Now saves MFC Crosssection window nominal diameters as well as the color map scale

* MFC Crosssection can now use the Wellsketch Pipe ID/ODs instead of the manually applied values

* Fixed bug where data-channels in a UserDataview would not be shown in the data-browser

* Made it possible to edit header-data for StorageChannels(e.g from math operations)

* Fixed bug in math operation that crashed the application if just specifying a constant in the equation



* When using the measurement tool labels are now displayed to the left instead of following the cursor. This will prevent the labels from disappearing to either side on narrow data-views.

* Added more components to the A-annulus volume calculations



* More descirptive error message when loading a LAS file w/ errors in the STRT, STOP and STEP paremeters



* The tubing color on the wellsketch is now semi-transparent to work with different background colors

* Measurement tool will now show gradient even on very small delta-x values



* Added option to change background color of View Widgets in the settings dialog

* Re-write of fileformat. Not compatible with previous versions of Las Viewer

* Log file path available in the properties dialog. Possible to open location if reachable

* The number format for the application now also applies to MFC 3D and cross-section windows

* Misc bug-fixes incl. the color map of MFC data



* The "Measurement tool" will now track curves if "Curve tracker" is enganged



* More extensive input validation in WellDetails, Dataview scales and DLIS Conversion

* Bug fix in volume calculations involving patches

* Show gradient in the delta-tool (value per depth TVD) if directional survey data is available

* Added arbitrary fixed resolution DLIS to LAS conversion



* Support more decimals when importing LAS files. Now the las data can contain a total of 19 decimals



* When changes are made to the well data in the application an * is added to the LV1 filename to encourage saving.



* Improvements to well survey text file importer

* Misc. bug fixes



* Added a label to the Well Details dialog that outlines the format of data to be pasted into the tables



* Changed UI for fill areas

* Added Properties menu item for user-dataviews context menu

* Misc changes in MFC 3D View(reset view, larger far-clipping-distance)

* Scales changed for Relative bearing in MFCDataView so that high-side-finger is indicated by intersection of RB curve with finger curve

* Better parse-error detection when loading LAS files. Invalid numbers in data section won't crash app



* Implemented basic data checks when loading LAS files to avoid crashing the software when invalid data is encountered

* Changed the color-picker so that it is easier to paste new colors (eg. for perforations / zones)



* Input validation when entering, importing and pasting Well Details data



* Fixed bug where the depth-unit on the DepthAxis scale would not update when toggling depth units

* Fixed bug where software crashed when showing empty DeviationDataView



* Fixed bug where MFC dataviews would spontaniously jump to the left when hovering the mouse over the scale-name



* Shows TVD depths for WellSketch components in the status bar



* Included a 90deg baseline in Deviation DataView



* Included TVD data-channel in the DeviationDataView 



* Fixed bugs with regards to undoing zooms of Deviation dataviews



* Added deviation dataview that uses well survey data to show the deviation vs MD



* Fixed bug that would crash application if calculating volumes without any pipe-data



* File format changed. Not compatible with older LasViewer files

* Well Sketch dataview incl. various components like fishes, plugs, etc

* 3D Well Trajectory and 2D Vertical Section

* Well volume calculator

* Zones and Perforations can now be color coded



* Added icons to toggle depth unit and separators instead of going to settings

* Added support for complete directional surveys. It is now possible to import a file containing MD, inclination and azimuth. TVD, DLS and Vsec will then be calculated. Values will be interpolated and displayed at mouse cursor depth

* 2D chart with Vertical Section when directional survey has been loaded

* Description of MNEMs in the DataView Selector



* Added number format information to the title of the well details dialog



* Converted project to QT version 6



* Fixed bug where old views were not deleted when loading a new project



* Custom colors for zones/perforations in Well Data as well as interpretation zones



* Fixed bug where user-dataviews crashed application

* Now saves the total displayed depth override option in the lv1-file



* Station logs with a post-fix channel name(eg. _SL) will be added to the correct data view that contains depth log data

* Now possible to have an empty survey(no data) while stil displaying Zones, Perfs, Markers etc



* Fixed bug where the current survey would not be shown after loading a file



* Now supports floats written without a leading 0 (e.g. -.25)




* Changed auto-generated names for mfc-dataviews to include Mnem

* Fixed bug where leading a mfc-log which was outside the visible interval would crash the application



* When loading a project with multiple MFC surveys each window(3d or x-section) will not briefly be shown while restoring the surveys. Only when the entire project has been loaded will the applicable windows be shown.



* Now possible to copy spinner calibration parameters between surveys



* Removed spinner-setup dialog from spinner calibration

* It is now possible to view properties for a timelog datachannel



* A station log can now be viewed by clicking on it



* If las-file contains more valid MFC finger mnems(e.g. RADI and CRAD) all mnems will have their own MFC data view (not only the first mnem encountered)

* MFC Dataview heading now includes the mnem (+ the filename already present)



* Wireframe disabled by default for 3D model of MFC data

* MFC cross section window can now be made smaller than its initial size



* Reworked the MFC cross-section viewer so it will scale with window size and show the radius for each finger. Also added nominal tubing OD to help establish wall penetration.



* Added curve tracker to MFC dataview. That way it is possible to get the value of a particular finger or relative bearing by placing the mouse curser near it.



* Added colormap to MFC dataview to illustrate MFC values. Uses same color scale as the 3D model. The colormap is rendered in a separate thread to avoid impacting UI responsiveness. Can be disabled by clicking a button in the menu bar.



* Bacic input validation for injection log interpretation

* Modified scale for MFC_3DView

* Higher resolution for MFC 3d model and colors



*Added "CFJ" to valid spinner MNEM



* Fixed bug where zone view would not update when adding zones

* Removed context-menu from Zone/depth views. The menu didn't contain any items regardles

* Updated the math and excel-export libraries

* Misc. changes to override-auto-displayed-interval dialog



*Added option to override automatic "display-depth-interval" that ensures that all data will be within the displayed interval and that the interval will be trimmed to the interval of visible data.

It is now possible to manually specify the display-depth-interval in case you need to see Zones, Marks, etc. outside the interval covered by visible data.



* Data channels in a log-file are now sorted by name in the data browser

* When loading a project the view is now zoomed to the interval visible when saving that project



*Implemented "Apply to similar curves" when changing scales in the scale modal. All curves in the view with the same unit will have the new scale interval it that button is clicked



*Fixed bug where data-view order got reversed when moveing from "hide" to "show" in View Selector



* Changed default MFC mode to "individual track".

* Added two "Reset Scale" buttons to the MFC_3DView window. One will show more details around pipe ID while the other will also cover large/small radius's but show less details at pipe-radius

* Better estimate of initial scale values when the 3D view is created



* Fixed bug in MFC 3DView that prevented calculating the proper(high contrast) scale values based on the current data

*Checking for updates now works again. The old version used HTTP. For some reason that didn't work with the server anymore(possible due to HTTPS redirect). Now Las Viewer uses HTTPS.



* Added "Reset to visible depth" button to MFC 3D View scale parameters and fixed a few bugs in the scale widget



* Fixed bug that would crash application when clickling on "New Project"



* New icon for application

* Fixed bug with curve tracker

* Fixed bug that crashed the application when opening a file without any logging data



* Fixed bug when saving to an existing filename. Before the file wouldn't be overwritten.



* Delete entries in the Well Details tables by pressing the delete key.

* Now only pressing the left mouse button will start the measurement tool, not other buttons.



* Fixed issues with pasting in WellDetails data(zones, perfs, inclination and markers).



* Implemented importing of column based data in text files. Posible to specify data offset and separator type(comma, tab and space). Currently only used for deviation data.

*Added a transparent pop-up message warning about number format compatibility when importing.



* LAS Viewer now tries to generate a save file in a local temporary directory first before moving the file to its final destination. This can give a major performance increase when saving to network drives.



* Added automatic update check on start-up. This can be disabled in Settings. Alternatively it is possible to manually check for updates in the Help menu.



* Modified 3D MFC cursor to actually follow the surface of the pipe and not some distance away



* 3DView for caliper data now starts up showing the current view interval from the side

* Few adjustments to the view mouse-controls



* Removed silly bug that introduced large overhead when displaying many curves(e.g. MFC views)



* Changed the Palette of the 3D view scale to include more colors



* Complete re-write of 3D code to convert from legacy(fixed function pipeline) OpenGL to modern OpenGL

* Fixed errors in coloring of MFC data

* (Re)Added light effect depending on the angle of the pipe-surface with respect to z-axis

* Added 3D cursor on 3D model of MFC data

* Fixed issue with 3D window resizing after hiding. Now window restores to original size/position

* Fixed bug where currently visible depth interval changed when resizing main window



* Toggle MFC wireframe model on/off w/ [F]



* Made "curve tracker" labels less prone to constantly changing sides when the tracked curve is close to the center if the data view.

* Fixed annoying change of color intensity of MFC 3D wireframe model when scrolling.



* Fixed bug where no depth view would be shown initially when loading MF caliper files

* Fixed bug where, if "renaming" to the same name, "_#1" would be added

* Now the 5 view widgets initially shown are picked from a prioritized list instead of simply being the first



* Implemented exports to both LAS and Excel files.



* Fixed bug that caused application to crash if adding a single time log to an empty survey.



* Resolved issue with several DepthAxis views being shown when loading files with several depth channels(e.g DEPTH and DEPT). Now each survey will have only one depth axis called "Depth".This will crash the application if loading an older LV1 which contains a Depth Axis called "DEPT".



* Changed lv1 file format to allow for future modifications without breaking compatibility.



* Maximum zoom now depends on the log data interval and screen resolution, not simply a fixed number



* Width of depth axis now depends on screen resolution. 

* Fixed bugs when redrawing 3D models in ColumnWindows containing 2 MFC dataviews.

* Fixed bug where an additional StorageDataChannel item was created in DataBrowser when doing math




* More internal changes and unfortunately another change in the lv1 fileformat that makes the software incompatible with older lv1 files.




* Major re-write of the application to improve stability and maintainability.

* Old lv1 files cannot be loaded anymore due to a change in the internal application

     - Program will not crash anymore when loading outdated lv1 file.

* Improved spinner calibration dialog

* Fixed bug where application would freeze on start-up on certain computers due to use of uninitialized data.




* Fixed a bug that was introduced when re-writing the DLIS code. This bug made it impossible to load older lv1 files.




* Fixed bug where DLIS files with an depth index channel called "MD" would generate an invalid LAS file header

* The whole DLIS file code has been split up into smaller classes




* Fixed bug that would crash software if converting DLIS w/o proper header info to LAS.

* Moved LAS generation code from DLIS class to designated LAS Generator class.




* Fixed bug when trying to zoom in non-dataview widgets(like depth axis)




* Fixed bug in how the ID was calculated in the spinner calibration "interpretation widget"




* When stretching log data user is now prompted for a "Stretch Anchor Depth". Stretching will be performed around that depth, i.e. data at that specific depth will remain stationary during stretch operations.




* Added additional decimals to the stretch factor line-edit to avoid effects of round off errors when re-applying a stretch-factor




* The stretch and shift parameters in LogFile Properties were always in US number format regardles of application settings. This gave undefined results when typing in european number format.




* Fixed small bug in the DLIS conversion tool in which the "unselectable" index channels were toggled when the main check-box was ticked




* Added information about the dimension of a data channel to the DLIS conversion selection table

* The DLIS conversion table now stores the selection between conversions so it is not necessary to select channels each time when converting multiple DLIS files of similar type




* Refactored DLIS conversion code. Added MNEN filter




* Previous issues parsing DLIS files turned out to originate from the lack of suppot for multi-dimensional arrays. This has now been implemented for 2 dimensions (i.e data channels containing an [m]x[n] matrix).




* Added ability to ignore parse-errors when converting DLIS files where the estimated FDATA length differes from the actual length of the IFLR data. This is a quick-fix and doesn't address the underlying problem as to why the length differs(probably software bug)




* Fixed bug in LAS Import that resulted incorrect parsing if CurveInfo header contained an empty line




* DLIS converter/browser will now parse DLIS files with Set Type = AXIS




* Interpretation of water injector(single phase, incompressible fluid) spinner data. Possible to generate interpretation data views with flow velocity, flow rate and flow contribution from each perforation

* 3D viewer will not show(and crash) if number of radi-channels is less than 24 in log file




* Fixed bug that resulted in incorrect depth scale division lines at high zoom factors

* Fixed bug where the delta depth label was stored as the name label in all zone tables(perf/prod/interp)

* Interpretation zones table has been changed to generic zones table(as used by perf/prod)

* Added extra digit on depth scale at high zoom factors to avoid equal depth values




* Fixed a bug with the way the depth distance between samples was calculated. The previous method introduced round-off errors in the result which in turn resulted in incorrect indices to be calculated when calculating the sample index at a given depth.




* Made size of dialogs independent on screen resolution(by using fractions of screen size as width/height instead of absolute number of pixels)

* Improved curve trackers with a cursor and higher contrast background




* Perforations are now ordered by depth both compared to other perforations and the From/To depth

* Added "Curve Tracking Mode" where the values of the currently selected log-pass curves will be shown on each data view at the cursor depth.




* Added support for DLIS files containing 440-CHANNEL(Schlumerger) LABELS of type "MULTI_INSTANCE_RAW_NAME"




* When all dataviews are removed from a column window the Z and depth view widgets are now hidden so only a white screen is shown

* Settings unit is used for depth shift parameter

* MFC Cross Plot now shows diameters instead of radius. Diameters are calculated as the sum of two opposing finger readings

* The NULL value from the LAS file header is now used to determine the invalid value(usually -999.25)




* Optimized floating point formating when converting to strings

* Fixed a big where the application would crash if all data was deleted from a non-visible survey




* Added option to switch between MFC dataview drawing modes (icon next to settings)

* Floating point number format selection has been implemented throughout application. Including depth view and delta tool.




* Changed MFC Dataview mode to increase the width of the individual finger curves thereby increasing detail. Each finger will not have it's own space anymore. In future versions it may be possible for the user to switch between modes.




* Polished the Mulfifinger Caliper Data View. It now ensures that finger readings do not extend beyond the width of the data view (auto scaling) and shows the finger index in the data view scale.

* Now generates unique names for each MFC data view in survey (allows for multiple MFC DVs in each survey. Still some weird bug with only updating one 3D view when scrolling)

* Each MFC DV scale will contain the applicable logpass filename




* Optimized depth marker annotation so that redraws only takes around 25% of the previously required time




* Fixed bug that would crash the application if loading an lv1 file without any surveys

* Corrected misc. issues in the Well Details dialog(sorting of depth markers, 2 instead of 1 decimal in depth marker depths)

* Put the Well Details icon back in the "document" toolbar next to load file. That way it is possible to add well details to a project prior to receiving data




* Changed zoom selection rectangle to also include other dataviews (vertical) when zooming both vertical and horizontal at the same time.




* Fixed bug when zooming with both horizontal and vertical zoom buttons pressed

* Added blue semi-transparent rectangle when zooming

* Fixed bug that lead to application crash when selecting properties for an empty User DataView




* Fixed bugs in DLIS conversion (unable to convert ASCII to Floating Point)

* Implemented Multifinger Caliper Settings tab in Global Settings. It is now possible to control which MNEMs will trigger an MFC dataview generation




* Changed the scale widget so that line, MNEM and actual scale values will be removed (in that order) if the scale widget is too narrow (to avoid drawing on top of each other)

* Fixed bug in curve renderer that, under special conditions, would result in selecting the incorrect processed/optimized curve. This would lead to the introduction of infinities in the rendered curve and very slow rendering speeds




* Made slight adjustment to icon positions

* Fixed bug with data browser not updating the data channels in UserDataViews when loading files

* Copy of table data only copies selected rown and columns




* Fixed bugs that could crash the application during zoom operations of dataviews with only time data




* Implemented saving/restoring size and position of LAS Viewer main window between sessions

* Implemented "settings reset" command line argument(-r or --reset)




* Added minimum ID to MFC cross sectional plot

* Fixed bug in copy/paste of data in Well Details tables

* Implemented copy/paste in Interpretation Zones table

* Added link to homepage from help menu




* Added depth and nominal internal ID to the multifinger caliper cross section

* Added shading to the 3D representation of MFC data making it easier to see ID changes




* Added a "Open Recent File" menu item

* DataView scale dialog "fit to visible interval" and "fit to entire interval" now only applies to current curve (for all curves just use the icons in the menu bar)




* Major re-write of the DLIS code. Replaced the inefficient boost::variant with custom made value type. 5-6 times speed improvement on converting DLIS file to LAS

* Changed DataView scale dialog to support "apply to all curves" and to show the unit for current curve

* Changed DLIS Browser table to smooth scrolling




* Changed the decimal / thousands separator setting dialog

* Decimal / thousands separator format implemented more coherently throughout the applicaiton




* Added table-header check-box to DLIS channel selection table to select-/unselect all channels.

* Implemeted depth interval specification when converting DLIS file to LAS

* More DLIS conversion fixes




* Fixed a bug in DLIS conversion(unable to select resample)

* Improved support for Schlumberger DLIS index display-units(DLIS depth/time data is not recorded in the same units as they are displayed)




* Fixed misc. bugs in DLIS parsing




* Added DLIS browser

* Fixed misc. bugs in DLIS parsing

* Added support for conversion of metric DLIS files to LAS




* Fixed bug in DLIS converter (unable to parse Logical Record with no objects after Set Component)




* Re-implemented undo/redo to allow for undoing more complex operations

* Keyboard short-cuts for Undo / Redo (system dependent key combination)




* Replaced QJSON save format with a custom made format due to low performance and high memeory demands