v0.2.0 (March 25, 2023)#

These are major changes composed of new features and improvements from v0.1.9.

  • Major feature Add impedance tensor multiple correction class (watex.methods.ZC) and gives opportunity to export new tensor data into EDI files if the argument out=True. For instance:

    • watex.methods.ZC.remove_static_shift() remove the static shift from correction factor from x and y using the spatial median filter. In watex.methods.ZC.remove_static_shift() , the watex.externals.z.ResPhase.compute_resistivity_phase() is initialized with the corrected impedance tensor Z three dimensional array and number of frequency.

    • watex.methods.ZC.remove_ss_emap() removes the static schift using the EMAP moving average filters such as:

      • 'ama': Adaptative moving average

      • 'tma': Trimming moving-average

      • 'flma': Fixed-length dipole moving average

    • watex.methods.ZC.remove_distortion() removes distortion D form an observed impedance tensor Z.

    • watex.methods.ZC.get_ss_correction_factors() computes the static shift correction factor from a station using a spatial median filter.

  • Major feature Add new module ( watex.site.Profile) in watex.site as supplement site data transformation. Gives supplement materials (methods) for data transformation such as:

  • Major feature New features for interpolation and drop bad frequencies at once to avoid a gynastic using Numpy and watex.utils.get2dtensor():

    • watex.methods.Processing.interpolate_z(): Interpolate tensor Z and return new interpolated Z objects. Here is an example:

      import watex as wx
      sedis = wx.fetch_data ('huayuan', samples = 12 , return_data =True , key='raw') # collected twelve raw data from Huayuan
      p = wx.EMProcessing ().fit(sedis)
      # Let's visualize seven Z values at the first site component xy
      p.ediObjs_[0].Z.z[:, 0, 1][:7]
      Out[1]: array([ 4165.6 +2070.13j,  7072.81+6892.41j,  8725.84+5874.15j,
               14771.8 -2831.28j, 21243.7 -6802.36j,  6381.48+3411.65j,
                5927.85+5074.27j])
      Zcol = p.interpolate_z (sedis)
      Zcol [0].z[:, 0, 1 ][:7] # let visualize the seven interpolated Z
      Out[2]: array([ 4165.6 +2070.13j,  4165.6 +2070.13j,  7072.81+6892.41j,
                8725.84+5874.15j, 14771.8 -2831.28j, 21243.7 -6802.36j,
                6381.48+3411.65j])
      
    • watex.methods.Processing.drop_frequencies(): drop useless frequencies in the EDI or Z objects using either the tolerance parameter tol from watex.methods.Processing.qc() or watex.utils.qc() or by setting mannually the frequencies. Here is an example:

      import watex as wx
      sedis = wx.fetch_data ('huayuan', samples = 12 , key='raw').data
      Zcol = wx.EMProcessing ().fit(sedis).drop_frequencies (freqs = [49800 , 29700]  )
      Zcol [5].freq[:7]
      Out[3]: array([81920., 70000., 58800., 41600., 35000., 24700., 20800.])
      
  • Feature watex.view.TPlot.plot_corrections() allows to visualize the static shift correction as well as the distortion.

  • Feature Add a quick model evalutation with watex.models.naive_evaluation()

  • Enhancement Update watex.utils.get2dtensor() to be able to output the complex data type especially when impedance tensor Z is given. This avoid ComplexWarning casting wich only keep the real part.

  • Enhancement in watex.view.TPlot.plot_corrections(). Use the frequency of each site rather than the complete frequency of the survey investigation since all sites could not have the same frequency length. This will fix the possible crash when plotting the raw EDI data.

  • Enhancement force parameter is now available to watex.methods.DCProfiling and watex.methods.ResistivityProfiling In principle watex.methods.DCProfiling expects users to provide either DC objects or pandas dataframe. This supposes that users have already transformed its data from sheets to a frame. If not the case, setting force to True henceforth coerces the algorithm to do the both tasks at once.

  • Enhancement in the appearance of literal code in WATex documentation ( Issue #1267 ) credit to Daniel McCloy. Thanks for your constructive reply.