* 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

* Filter noisy data (moving average)

* Calculate the derivative of data channels

* 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

* Easy zoom-in / zoom-out with CTRL + Scroll Wheel

* 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

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


LAS Viewer


Development version of LAS Viewer

Download (28-Jul-2021)

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

Change Log:



* 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