Recent Releases of gimli

gimli - v1.5.4

What's Changed

General

  • improve and fixed some examples and tutorials
  • fix a lot of minor bugs
  • extend tests
  • add ComplexMatrix(R, I)
  • enable float (and int) conductivity in `solver.createStiffnessMatrix(me
  • add DataContainer.markSensorInvalid(idx), DataContainer.removeSensorData(idx) and DataContainer.removeSensor(idx)
  • add mesh.createNodes()
  • fix createParaDomainPLC() for boundary=0
  • remove obsolete Refraction class (use Traveltime)
  • improved string representation of matrices
  • fix versioneer
  • fix build problem on Mac, by avoiding linking to Python libraries

Visualization

  • fix strange vertical axis labelling for meshes with elevation
  • switch blue electrodes to magenta (contrast to popular cMaps)
  • add mpl.underlayImageFile(ax, im)

ERT

  • TimelapseERT.fullInversion(): access to inversion instance and retrieving frame chi2 values
  • improve TimelapseERT.automask()
  • saveResult() saves model response and residual
  • fix mesh generation for CrossholeERT()
  • fix import of newer Syscal and ABEM Ascii output
  • fix wrong dx detection in ert.drawERTData() and improve flexibility
  • enable specifying current in ert.simulate(mesh, a)

New Contributors

  • @guiguilhermegui made their first contribution by fixing a typo in heat equation tutorial in https://github.com/gimli-org/gimli/pull/808

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.5.3...v1.5.4

- Python
Published by florian-wagner over 1 year ago

gimli - v1.5.3

  • re-enable CI workflow
  • fix possible import error (libcholmod.so) by fixing suitesparse version
  • support for numpy v2.x
  • new inversion classes InversionBase, InversionGaussNewton etc. (not yet default)
  • add recursive BFGS and L-BFGS matrices
  • enable fop.STy to avoid Jacobian for gradient-based inversions
  • add lamFactor and minLambda properties for decreasing lambda values
  • fix and simplify some examples
  • improved string representations of Trans classes
  • ERTIPManager.invIP class available
  • new reciprocal data analysis example
  • add complex-valued ERT/IP inversion
  • allow Mesh.show("property") with possible factor=
  • add general column-based import for traveltime data
  • add 2024 references to bib database
  • update Borehole(s) classes
  • add showERTData(equidistant=True/False)
  • improve data representation for CrossholeERT
  • improved docstrings of several functions
  • TimelapseERT.automask for outlier detection
  • TimelapseERT.TimelinePDF
  • fix some bugs and updates to modern scipy functions

- Python
Published by halbmy over 1 year ago

gimli - v1.5.2

What's Changed

  • improve import times by cleaning imports
  • improve axis labels
  • enable contour lines for cell-based plots
  • improve extract2dSlices by x=/y=/z= and origin='center'
  • add mesh.submesh(relation='!=')
  • add pip --no-build-isolation to stay uptodate (instead conda develop)
  • add Inversion.residual() for data-weighted transformed residual
  • add Inversion.jacobianMatrix() for transformed & weighted Jacobian
  • add Inversion.dataGradient/modelGradient/gradient() functions
  • allow setting inversion response from outside
  • add general MatrixRow(A, n) and MatrixColumn(A, n) functions
  • add modelResolutionMatrix and resolutionMatrix
  • add modelCovarianceMatrix replacing the (core-inv) modCovar
  • add TDEMSmoothModelling for Occam TEM inversion
  • add ERTManager.invertDC()
  • add DEM class with fallback DEM instance
  • add matrix type ScaledMatrix
  • update Borehole and Boreholes class
  • tune default thread count to max 16
  • add three different linesearch procedures opening the way to pure Python inversion
  • add example of model covariance matrix for VES inversion
  • add example for TDEM inversion including resolution matrix
  • enable setting transformations through strings (e.g. inv.dataTrans = 'log') using str2Trans
  • revive pg.RVector alias
  • add system to Report
  • fix a lot of bugs, e.g. to be compatible with matplotlib>=3.9
  • improve documentation including building instructions

Pull requests

  • Update ertIPManager.py by @AlainPlattner in https://github.com/gimli-org/gimli/pull/726
  • Fixing the iteration number again (I think) by @prisae in https://github.com/gimli-org/gimli/pull/734
  • Remove system from pygimli-scooby-report by @prisae in https://github.com/gimli-org/gimli/pull/737
  • Typos/structure plot5Regularization.py by @prisae in https://github.com/gimli-org/gimli/pull/739

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.5.1...v1.5.2

- Python
Published by halbmy almost 2 years ago

gimli - v1.5.1

What's Changed

  • Update README.md by @andieie in https://github.com/gimli-org/gimli/pull/667
  • fix #715, we can obtain the shape of a Cm05Matrix by @AmirMardan in https://github.com/gimli-org/gimli/pull/716
  • add Mesh.submesh(keyword=value, relation) to extract submeshes (e.g. good=vtk.submesh(coverageLog10=-5.5, relation=">")
  • improve website, e.g. on Mac installation, JupyterLab e.g.
  • remove scipy version dependency
  • add example on reciprocal analysis of ERT data
  • simplify some examples
  • increase compatibility for numpy>1.23 concerning np.int etc.
  • add inv.setInterfaceConstraint(marker, strength) (forwarding to region manager)
  • add inv.setInterRegionConstraint(region1, region2, strength) (forwarded)
  • add trapezoidal shape factor trapRatio for trapezoidal model domains
  • fix extract2dUpperSurfaceMesh, extract2dSlice

New Contributors

  • @AmirMardan made their first contribution in https://github.com/gimli-org/gimli/pull/716

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.5.0...v1.5.1

- Python
Published by halbmy about 2 years ago

gimli - v1.5.0

What changed

  • Re-enable 3D images on website (e.g. this example), now including interactive mode using pyvista's DynamicScraper
  • Fix iteration number in pre/postStep by @prisae in https://github.com/gimli-org/gimli/pull/643
  • Typo correction by @soehag in https://github.com/gimli-org/gimli/pull/650
  • FIX adding custom constraints matrix into lazy evaluation process of regularization settings (fixes #659)
  • Enable DataContainer.subset() for geometric filtering (e.g. extract a line)
  • Reciprocal data analysis: ert.reciprocalAnalysis(data), ert.fitReciprocalModel(data), ert.reciprocalProcessing(data)
  • Extend reciprocal analysis to TimelapseERT class
  • Improved display of ERT data: using, x/y fields or predefined styles (e.g. A-MN)
  • Improved maxtrix pg.show(mat) for Matrix, RealNumpyMatrix, IdentityMatrix, DiagonalMatrix, all others
  • Improve docstrings for several classes and functions
  • Extend setting mesh properties mesh[str]=val, including markers
  • New example on tree tomography using ERT, styling other examples
  • Improve details in several examples and correct inconsistencies
  • Add new papers using pyGIMLi
  • Fix several bugs: res2dinv import, bug with scipy=1.12,
  • Updated to new version of pydata-sphinx-theme

New Contributors

  • @soehag made their first contribution in https://github.com/gimli-org/gimli/pull/650

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.4.6...v1.5.0

- Python
Published by halbmy over 2 years ago

gimli - v1.4.6

What's Changed

  • pv.drawSlice takes cMin/cMax, cMap, logScale and passes clim,cmap,log_scale
  • add (syntactic sugar) Mesh class functions:
  • Mesh.copy() to create a copy, Mesh.midpoint()
  • Mesh.NED() for changing XYZ from East-North-Up to North-East-Down and back
  • add Mesh.extent("dxyzm"012-1None) to determine extent in to several dimensions
  • add Mesh.populate(array|map|dict) to map any input to mesh cells
  • add Mesh.innerBoundaryCenters() to retrieve the inner boundaries (e.g. first order constraints)
  • extend and optimize grav/mag by tools
  • first MagManager for magnetics inversion
  • magnetics inversion example, also supporting tetrahedral meshes
  • improve showFit by same data and response colorscale and axes
  • add aspect keyword to show functions (not resolving #629 ugly colorbars)
  • enable TraveltimeManager to take self mesh and data
  • TraveltimeManager.createTraveltimeField
  • add showAnimation(plc=)
  • TimelapseERT.exportVTK() for timesteps
  • fix direction of extract2dSlice
  • allow attribute dictionary for parseMapToCellArray
  • fix several bugs related to colorbars
  • fix reading pole-dipole from res2dinv, cleanup code
  • enable read topography from res2dinv files (#623, #629)
  • cleanup old SIP and borehole classes
  • improve cmake build instructions
  • extend test functions
  • improve docs and website, e.g. build from source instructions, papers
  • Update Slack->Mattermost by @prisae in https://github.com/gimli-org/gimli/pull/626

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.4.5...v1.4.6

- Python
Published by halbmy over 2 years ago

gimli - v1.4.5

  • new classes TimelapseERT and CrossholeERT
  • new example Timelapse ERT inversion
  • new example ERT with structural constraints from seismics
  • output of explicit chi-square at beginning on notebooks
  • DataContainer.getIndices() and .subset() for data selection
  • combineMultipleData for ERT data unification
  • fix relativeError bug in ERTIPManager
  • enable TraveltimeManager.showFit(firstPicks=True)
  • improve, cleanup and simplify (runtime-opt) several examples
  • improved Windows build with new cmake versions
  • fix Crank-Nicholson scheme for Dynamic boundary conditions
  • fix passing area(cellSize) to 3D createX functions
  • enable passing contact impedances to ert.simulate()
  • maxSeparation argument for ert.createData
  • adaptions to matplotlib=3.8 and other package updates
  • add underlayBKGMap(mode='map') for DTK, update adresses
  • extended documentation & cleanup of functions and classes
  • improve website by modern themes and packages
  • core updates fixing boundary handling bugs
  • increase test coverage

- Python
Published by halbmy over 2 years ago

gimli - v1.4.4

  • improve caching
  • improve appearance of examples and tutorials
  • enable using fatray Jacobians in TravelTime Manager
  • pass cMin/cMax/logScale to 3D views using pyVista
  • add DataContainer.swapXY to change dimensions
  • support SIP Quad import and to enable SIP data columns
  • enable saveResults to pass vectors to be saved in vtk
  • typo corrections

Bugfixes * badges on Website * VESRhoModelling with other than ab2/mn2 arguments * colorbar orientation for drawPLC * exportBoundaryVTU behaviour * ertGeometricFactors(h2=False, p2=True)

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.4.3...v1.4.4

- Python
Published by halbmy almost 3 years ago

gimli - v1.4.3

What's Changed

  • add ERTIPManager for simple (e.g. TDIP chargeability) modelling and inversion
  • add 3D gravity modelling operator GravityModelling
  • add 3D gravity modelling and inversion example based on Li&Oldenburg (1998)
  • optimize gravity/magnetics kernel computation
  • improve documentation by adding docstrings and docstring examples
  • add KroneckerMatrix for efficient modelling of multi-dimensional (spectral) problems
  • add skipCache argument to cacheable functions to skip cache evaluation
  • add some ERT utility functions for processing
  • Update documentation and scripts for manual compilation on Linux by @paoloose in https://github.com/gimli-org/gimli/pull/553

New Contributors

  • @paoloose made their first contribution in https://github.com/gimli-org/gimli/pull/553

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.4.2...v1.4.3

- Python
Published by halbmy about 3 years ago

gimli - v1.4.2

  • fix a lot of bugs also visible on Website examples
  • add DataContainer.show(...) as shortcut to pg.show(DataContainer, ...)
  • add DataContainerERT.estimateError(...) as shortcut to ert.show(DataContainerERT, ...)
  • add DataContainerERT.createGeometricFactors(...) as shortcut to ert.createGeometricFactors(DataContainerERT, ...)
  • add more quantities to unit library
  • website improvements
  • enhance documentation and style

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.4.1...v1.4.2

- Python
Published by halbmy about 3 years ago

gimli - v1.4.1

  • add absoluteError and relativeError (float or error) invert kwargs
  • switch remaining modelling classes to pg.Modelling
  • allow all mesh-based regularization for gravity and magnetics fops
  • add Inversion.setConstraintWeights for individual weighting
  • skip small eigenvalues for geostatistical regularization thus saving memory
  • improve SIPSpectrum manager by better defaults and fixes
  • allow for negative parameter limits (and thus negative parameters)
  • enable show*(coverage=0.5/1) for global alpha-shading
  • add example for 2D gravity inversion
  • add RMS/chi-square explanations to enhance polyfit example
  • improve 3D magnetics example by depth weighting
  • add DataContainer.ensure2D to switch YZ coordinates if needed (#536)
  • default createMesh with no boundary (particularly for seismics)
  • createMesh now also sets mesh by default for easier workflows
  • add ComplexSpectrum DataContainer-derived class for SIP, FDEM etc.
  • improve MultiFrameModelling class
  • improved documentation of classes and functions
  • improved examples: chi2history, modelhistory, petrophysical joint inv

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.4.0...v1.4.1

- Python
Published by halbmy about 3 years ago

gimli - v1.4.0

What's Changed

  • add support for Mac OS (Apple Silicon chips) again by @carsten-forty2, @andieie & @florian-wagner
  • update gimliuses.bib by @aurorec in https://github.com/gimli-org/gimli/pull/495 and other new papers
  • separat VES related stuff from physics.ERT as own module physics.VES
  • switch several tutorials (VES, Polyfit, DC+EM joint inversion) to modern (pg>1.2) framework styles
  • new example additional Constraints (example layer interface in VES)
  • three new ERT examples on 2D crosshole, 3D surface and 3D crosshole geometries
  • new function extract2dSlice for slicing 3D models into 2D meshes by using PyVista
  • widely avoid use of pg.core functions by sorting them into math, matrix etc.
  • simplify passing keyword arguments to inversion (e.g. C=, Ctype=)
  • extended docstrings and doctests, improvements of webpage
  • lots of bug fixes (e.g. loading duplicate sensors) and new tests to prevent bugs
  • fix error in FDEM modelling for small distances and large elevations

New Contributors

  • @aurorec made their first contribution in https://github.com/gimli-org/gimli/pull/495

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.3.1...v1.4.0

- Python
Published by halbmy over 3 years ago

gimli - v1.3.1

What's Changed

  • Add scooby-report as pg.Report() by @prisae in https://github.com/gimli-org/gimli/pull/445
  • update of CSS styles and sphinx themes for website
  • add 3D magnetics modelling and inversion with example
  • new tutorials on meshes, datacontainers, regularization, region control and prior data (from Transform 2022)
  • re-structure examples, e.g. induced polarization in own section
  • update of several examples to modern styles
  • add some 3D slicing functions by using pyVista
  • fix matplotlib>3.5 bugs by enabling Vector[np.newaxis
  • lots of bug fixes
  • improvement of documentation and test coverage

New Contributors

  • @prisae made their first contribution in https://github.com/gimli-org/gimli/pull/445

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.3.0...v1.3.1

- Python
Published by halbmy over 3 years ago

gimli - v1.3.0

What's Changed

  • change release schedule (version numbering) so that core updates are MAJOR.MINOR.0 and pure Python updates are counting the patch number
  • add jupyter backend panel for 3D pyvista plots in Jupyter Notebook by @andieie in https://github.com/gimli-org/gimli/pull/364
  • add several logical matrices: TransposeMatrix, SquaredMatrix, SquaredTransposeMatrix additionally to horizontally, vertically or diagonally combined matrices
  • add Python-based inverse solvers such as LSQR, CGLS, RRLS
  • introduce LSQR-based inversion framework for including parameter constraints (Wagner et al. 2019)
  • cleanup frameworks to follow v1.2 API
  • improve traveltime manager for gradient models under topography and extracting raypaths
  • add more functionality for 3D mesh generation using pg.meshtool.createParaMeshPLC3D
  • add more synthetic sugar like pg.show(mesh, "property"),
  • add more examples, particularly involving 3D plots, improve and cleanup existing examples
  • improve docstrings and test coverage
  • fix lots of minor and some major bugs
  • improve code readability

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.2.6...v1.3.0

- Python
Published by halbmy almost 4 years ago

gimli - v1.2.6

General * lots of bug fixes and minor improvements * extend documentation and test coverage * fix problems with matplotlib versions >= 3.5 * allow negative indices into pg Vectors * symlog transformation pg.trans.TransSymLog (for signed logarithmically distributed data)

Inversion * clearer starting model behavious * clarify reference model behaviour by invert(isReference=True) (by default False! before accidentially True) * regularization API: inv.setRegularization() * geostatistical regularization by using correlationLengths=[Ix, Iy, Iz] (so far only global) regularization

Modelling * PriorModelling class for both demonstration purposes and incorporation of prior data * LinearModelling based on pg.Modelling for linearized problems

Matrices * RepeatVMatrix, RepeatHMatrix, RepeatDMatrix for vertically/horizontally/diagonally repeated block matrices * FrameConstraintMatrix for regularizing (spatially, temporally or spectrally) constraints in frame (multiple models) inversion

Frameworks * Multi-frame (e.g. timelapse) framework pg.frameworks.MultiFrameModelling

SIPSpectrum: double Coule-Cole fit with various options (resistivity/Pelton vs. conductivity, tau definition, add vs. mult) ERT: generateDataPDF

Full Changelog: https://github.com/gimli-org/gimli/compare/v1.2.5...v1.2.6

- Python
Published by florian-wagner about 4 years ago

gimli - Version used at Transform2021

- Python
Published by florian-wagner over 5 years ago

gimli - v1.1.1

API change

  • [API change] Restructuring / API / default changes for 1.1 #124
  • [API change] Move pg.mplviewer to pg.viewer.mpl #121

building and distribution

  • [building and distribution][documentation] Python 3.6 Win64 1.0.12 Wheel missing #214
  • [building and distribution][testing] New structure for testdata #62

closed

  • [closed] Save results of seismic tomography inversion #264
  • [closed] traveltime tomography with close geometry #258
  • [closed] how to display pseudosection and phiM and phiD curves and tikhonov curves in ERT #257
  • [closed] Jacobian matrix for homogeneous model in ERT #252
  • [closed] petrophysical joint inversion of ERT and SRT #251
  • [closed] error installing pyBERT on python notebook #249
  • [closed] Pygimli and seismic reflection #248
  • [closed] [QUESTION] complex resistivity inversion #247
  • [closed] ERT inversion with geostatistical regularization #246
  • [closed] Missing Method in Update to 1.1 #244
  • [closed] Cannot add data to VTK export #242
  • [closed] [Question] ERT simulate - values in the data container #240
  • [closed] Is it possible to use the c++ core in c++ programming #238
  • [closed] how to set b as a velocity field in the solveFiniteElements module #237
  • [closed] ERT Field Data With Topography #236
  • [closed] New to Git Hub: Issues with Update from 1.0 to 1.1 #235
  • [closed] Trivel-time / distance plot #234
  • [closed] Refraction Result to pyqtgraph #233
  • [closed] pygimli.viewer.mpl not found #231
  • [closed] TravelTimeManager in pg1.1 #230
  • [closed] Data not shown #229
  • [closed] Conda packages for Mac OS? #201
  • [closed] not able to import gmsh file in pygimli #197

enhancement

  • [enhancement][feature request] Basic pg.viewer support for 3D visualizations #15

- Python
Published by florian-wagner over 5 years ago

gimli - v1.1.0

Release presented at EGU2020: https://doi.org/10.5194/egusphere-egu2020-18751

bash conda install -c gimli -c conda-forge pygimli=1.1.0 # Win, Linux and Mac!

Main changes:

  • repository restructuring (Python part now at root level)
  • improved API documentation and website
  • improved and cleaned frameworks: https://www.pygimli.org/pygimliapi/_generated/pygimli.frameworks.html
  • 3D viewer based on PyVista: https://www.pygimli.org/pygimliapi/_generated/pygimli.viewer.pv.html
API renaming & namespace clean-up
  • pg.mplviewer - > pg.viewer.mpl
  • pg.RVector -> pg.Vector
  • pg.RMatrix -> pg.Matrix
  • new module pg.math (cos, cot, sin, det, exp10, median, randn, rms, etc.)
  • new module pg.matrix (Vector, BlockMatrix, etc.)
  • core (C++) members now explicitly in pg.core.coreMember instead of pg.coreMember
Default changes in viewer
  • logScale=False
  • colorBar=True
New syntactic sugar
  • pg.physics.ert.simulate
  • pg.physics.ert.createGeometricFactors
  • pg.fit: run curvefit with ParameterInversion. Provide function for a curve, data and dataspace and the curve will be fitted with some automagic
  • expose abs to pg.core objects. e.g. abs(pg.Vector), abs(CVector), abs(R3Vector)
  • pg.x(obj), pg.y(obj), returns x coordinates for obj (Mesh, DataContainer, R3Vector .. everywhere where we think it can be useful)
Meshtools
  • Spline interpolation in createPolygon
  • support for 3D PLC (may replace bert.polytools (out-of-core)) e.g., meshtools.polytools.createCube, createCyinder, extrude, createFacet, createMesh(3dplc)
  • mergePLC works with 3D objects too .. only touching a smaller on a bigger object for now
  • nice pyVista target if calling pg.show with 3D objects (mesh, PLC)
  • object conversion from meshio meshes (https://pypi.org/project/meshio/)
Frameworks
  • base classes pg.Inversion and pg.Modelling are now pure Python.
  • main inversion loop now in Python
  • rewritten Refraction as TravelTimeManager
  • rewritten ERTManager to replace pybert.Resistivity
Config
  • pg.rc dictionary for global-user specific settings
  • basic support for appearance support: pg.unit(), pg.cmap() gives default names and default color maps for your desired physical parameters only res and vel for now ... will grow on demand
Logging
  • colored terminal output
  • pg.debug(), pg.info(), pg.error() and pg.critical(), the latter throws an exception, the other give colored output based on python logger class
  • debug level can be set on command line argument --debug or -d
Caching
  • on-disk cache for single functions with decorator @pg.cache e.g.: @pg.cache def func(args, **kwargs): return result
  • cache hash depends on function body, pg.version, and hashable args and kwargs
  • cached values are either single-returned hashable pg.core objects or multiple numpy objects
  • hash values for some Python and pg.core objects
  • you can turn off caching with command line --noCache
FE solver
  • support for complex values and anisotropy matrix
  • boundary conditions are now provided as dictionary
Misc
  • print(Datacontainer) gives more output
  • DataContainer and Mesh data values can and should be accessed with index operator e.g. t = data['t']or mesh['resistivity'] = model
  • renamed all cmap arguments to cMap
  • pg.wait() is obsolete at end of script, any pending MPL figures will be opened automatically if using a non-interactive backend based on qt or wx
Tests
  • many new tests available

- Python
Published by florian-wagner about 6 years ago

gimli - v1.0.12

bash conda install -c gimli -c conda-forge pygimli=1.0.12 # Win & Linux!

bug

  • [bug] Problem using fatray #188
  • [bug] pg.solver.solveFiniteElements(mesh, a=1.0, b=0...) does not work if b is set as a field #181

- Python
Published by florian-wagner over 6 years ago

gimli - v1.0.11

bash conda install -c gimli -c conda-forge pygimli=1.0.11 # currently Linux only `

bug

  • [bug] Examples Raypaths, Layered Example not working #167

closed

  • [closed] Trying the Field data inversion (“Koenigsee”) example #164
  • [closed] Question -ModuleNotFoundError: No module named 'pygimli' #160

- Python
Published by florian-wagner over 7 years ago

gimli - v1.0.10

Changes

  • improved handling of region markers during mesh creation (PR #157 by @m-weigand)
  • fixed marker bug for coverage mapping (https://github.com/gimli-org/gimli/commit/145dbad348e61908bbde37beec6175b2bf5f15f5)
  • Matplotlib 3.0 support

Closed issues

bug

  • [bug] drawField does not work for very small values #136
  • [bug] potential wrong reference to const & RMatrix() const in python bindings #61

closed

  • [closed] Parameter check in createRectangle #158
  • [closed] Mesh creation: marker parameter not always honored #152

feature request

  • [feature request] Support vtk STRUCTURED_GRID Dataset #87

Misc

fixes

  • polyCreate* that does not use leftDirection.
  • wrong Neumann BC scaling,

adds

  • dataContainerERT.addFourPointData accept now also values
  • pygimli/core/datacontainer.py for easy extentions
  • createCylinder(OOC: polytools), createMesh() accecpt 3D PLC and now tries a systemcall for tetgen
  • dataIndex(), dataContainer.sortSensorIndex() returns now sorting indieces.
  • isGeometry flag for core.Mesh. If set meshtool automatic check for duplicated nodes.
  • BlockMatrix to sparseMap conversion
  • argument for solver.linSolver to change solving backend

doc

  • slight changes to interpolation api docs

- Python
Published by florian-wagner over 7 years ago

gimli - v1.0.9

bash conda install -c gimli pygimli=1.0.9 # currently Linux only `

New functionality

  • Support for secondary nodes in traveltime calculations (following Giroux & Larouche, 2013; http://dx.doi.org/10.1016/j.cageo.2012.12.005)

    • New mesh method mesh.createSecondaryNodes(numberOfSecNodes)
    • New argument when setting mesh in RefractionManager rst.setMesh(mesh, numberOfSecNodes)
  • New method to visualize raypaths: rst.showRayPaths() (https://github.com/gimli-org/gimli/commit/a89eb2c620b3e211e04d63961b4067faedf8b323, API Doc)

Other changes

  • Fix RValue conversion bug (https://github.com/gimli-org/gimli/commit/172c31f063b8818aa7f195e0432412c13adff593)
  • Automatic detection of inline backend (improves pg.show() usage in Jupyter Notebooks) (https://github.com/gimli-org/gimli/commit/207680e86b8a521c735684f673767974202abfc6)
  • Allow for cmap and other kwargs in rst.showVA() (https://github.com/gimli-org/gimli/commit/096d02db953f4c1e0224fdefb478c97160de26b2)
  • Fix compatibility issue with pytest 3.8 (https://github.com/gimli-org/gimli/commit/ba5930794ff8f6223e9a429377062e874732c830)

- Python
Published by florian-wagner over 7 years ago

gimli - v1.0.8

New functionality

  • automatic type conversion for Numpy scalars (https://github.com/gimli-org/gimli/commit/34041b03241f51d6ee16af144c70acb2e5596dce)
  • automatic type conversion numpy.ndarray to BVector
  • expose abs(RVector), abs(R3Vector) and abs(CVector). No need for pg.abs anymore.
  • expose log(RVector). No need for pg.log anymore.
  • add STL reading support for multiple soldis
  • add basic operatores +/- for IVector

Closed

  • [closed] pygimli.frameworks.harmfit does not work with numpy integers for nc #143

Changes

  • mt.mergePLC recognize node on edge touching (not vice versa)
  • show now checks for used 2d coordinates (x,y) or (x,z)
  • mesh.createNodeWithCheck can now check for edge touching and split the edge on hit
  • renamed: mesh.extract to mesh.createSubMesh

- Python
Published by florian-wagner almost 8 years ago

gimli - v1.0.7

bug

  • [bug] Zero or one-based sensor indexing for traveltime data container? #141

closed

  • [closed] Retrieve pyGIMLi version is 'untagged' #137
  • [closed] marker view with pg.show() #135

fixes:

  • pure singe region now build correct interregion constraints without region file
  • passive body cem problem in bert fop
  • *Vector < operator
  • mesh bounding box problem for post createNode

add:

  • repr for pg.Node.
  • pg.load for *.collect files
  • circular flag for patchValMap
  • DataContainer.remove(BVector)
  • showNodes flag to drawPLC
  • boundingbox syntax sugar

remove:

  • DataContainer.filter

- Python
Published by florian-wagner almost 8 years ago

gimli - v1.0.6

new functionality

  • pg.show(geom, markers=True) to inspect region and boundary markers of PLCs (also works for meshes)
  • mt.interpolateAlongCurve, add simple extrapolation for to little curve bounds.
  • pg.warn(*args), pg.info(*args), pg.debug(*args) etc. easier logging interface #14
  • Pos=Vector3 alias
  • mt.createGrid proxy function
  • static ndim property to pg.Vector, pg.Matrix etc.
  • convenience calls: pg.x, pg.y, and pg.z to return appropriate arrays for (data, mesh, R3Vector, ndarray, ..)
  • core: improve mesh entities selection via (BVector), e.g., mesh.cells(mesh.cellMarkers() == 1) is the same as mesh.cells(pg.find(mesh.cellMarkers() == 1))
  • mplviewer new flag: showBoundary
  • pg.getConfigPath() returns path to user config
  • add more flexible way to define callables for boundary conditions

other changes

  • pg.test() compatible with numpy 1.14 (and 1.13)
  • documentation compatible with Sphinx > 1.6 (new -i flag in sphinx-autogen)
  • increased visibility of hyperlinks in documentation
  • removed io/ path #124

backward compatibility

  • [backward compatibility] Backward compatibility of pg.interpolate #131

bug

  • [bug] Plotting issue for multiple subplots in Jupyter Notebook #125
  • fix implementation of Neumann boundary conditions.

enhancement

  • [enhancement] pg.meshtools.cellDataToNodeData does not take scalar fields #120
  • CellBrowser: Highlight style, click now toggle, data and mesh can be changed

closed issues

  • [closed] Drawing a colorbar with pg.mplviewer.drawModel #130
  • [closed] 'MemoryError' for pb.invert #129
  • [closed] FDEM dataset #122
  • [closed] petro.resistivityArchie interpolation returns 'corrupt mesh' error #107
  • [closed] API doc not building with sphinx 1.6.3 #74

- Python
Published by florian-wagner over 8 years ago

gimli - v1.0.5

Install with Ana- or Miniconda:

bash conda install pygimli=v1.0.5

Fixes:

  • automatic RValue conversion for scalar numpy data types to pg.core long
  • Crank-Nicolson solver is now working again with default theta setting

building and distribution

  • [building and distribution] Make setup.py and conda's meta.yaml aware of pg.version #110

- Python
Published by florian-wagner over 8 years ago

gimli - v1.0.4 - Start of consequent versioning

Install with Ana- or Miniconda:

bash conda install pygimli=v1.0.4

- Python
Published by florian-wagner over 8 years ago