Wavelet Transform

Description Transform data into and out of various wavelet domains.
Module(s) Image Gather Processes
Requirements Volume
Related
Works with Gathers


The wavelet transform process can be used to transform data into and out of various wavelet domains. In addition, it can be used to perform muting on selected wavelet bands, or blocks. The muting can apply to a whole block, or only to points satisfying certain velocity criteria, or points above or below the mean or given percentiles within the block. 

Both one-dimensional and two-dimensional wavelet transforms are supported, with a choice of the Daubechies D20 wavelet, or the Tunable Q Wavelet Transform (TQWT).

  1. In the Control Panel, open the Process tab.
  2. At the tab header, click the Add icon and select New Process.
  3. Scroll down and double-click on Wavelet Transform.
  4. Type a name for the process and click OK.

Configuring Wavelet Transform

  1. Volume: The input volume to be transformed.
  2. Type of wavelet: 
    • D20: The Daubechies wavelet with 20 coefficients, that is, with 10 vanishing moments. TQWT is the Tunable Q Wavelet Transform
    • Q Ratio: Only applicable for wavelet type TQWT. The Q ratio dictates the relationship between the centre frequency and the bandwidth of the wavelet. Higher Q wavelets have more wiggles before they fade away. 
    • Redundancy: How redundantly the data will be represented in the wavelet domain. For example, if redundancy is 2, a trace with (say) 2500 samples becomes a wavelet trace with approximately 5000 wavelet coefficients. 
  3. Apply/invert 2D transform: If not selected, a 1D wavelet transform is applied on a trace-by-trace basis. Otherwise, each shot will also be transformed horizontally. 
  4. Transform direction: 
    • Forwards transform: convert a shot to the wavelet domain. You can then apply other processes (for example volume maths or polygon muting) before using another Wavelet Transform process to do the inverse transform.
    • Inverse transform: convert a shot to the wavelet domain. You can then apply other processes (for example volume maths or polygon muting) before using another Wavelet Transform process to do the inverse transform. Inverse transform will take wavelet transformed data and convert back to the seismic domain.
    • Forwards then inverse: This will transform a shot into the wavelet domain, apply any muting options (see below), then transform back to the seismic domain. It's no use if "Mute/ignore certain blocks" is not checked. 
    • Stay in the wavelet domain: If you wish to apply different muting parameters to different blocks, this is not possible in a single wavelet transform process. Instead, you would create a chain of processes as follows (and also explained in more detail towards the end of this help file): 
      • First, A forwards transform to convert to the wavelet domain 
      • Next, 'Stay in the wavelet domain', with muting options for the first set of blocks 
      •  Again, 'Stay in the wavelet domain', with different muting options for the next set of blocks
      •  More 'Stay in the wavelet domain' processes, with more different muting options, as desired
      • Finally, an inverse transform 
  5. Mute or snap certain blocks: The wavelet transform process allows flexible muting of the transformed data. This checkbox enables muting. Important: if your block muting table is empty (and it will be empty for new processes), you still won't get any muting. 
  6. Snap to the threshold: If checked, coefficients that would otherwise be muted will be snapped to the threshold instead. 
  7. Mute amount: How much to mute. 100% means mute completely, 0% means not at all. 
  1. Velocities in the TX domain: If checked, the velocities define the direct arrival time for each offset. If not checked, velocities define the slope of events within a shot. Statistically defined muting thresholds (see below) can't be applied to velocity mutes unless they are in the TX domain. 
    • Velocity dependent mute: allows you to define a mute region in terms of velocities. If not checked, muting applies to the whole of each block in the block muting table. 
    • Velocity range minimum: the slowest velocity defining the edge of the muting range. Leave this blank to mute velocities all the way down to 0 m/s. 
    • Velocity range maximum: the fastest velocity defining the edge of the muting range. Leave this blank to mute velocities all the way up to infinity and beyond. If you say you want a velocity-dependent mute but leave both maximum and minimum velocities are blank, the process will assume you've made a mistake. 
    • First trace offset: If velocities are in the TX domain, the process needs to know the offset of the first trace in order to correctly discern which parts of the shot to mute. 
    • Offset change per channel: Whatever domain velocities are in, the process needs to know the number of metres per channel. If your channel sequence was 1-1001[4], and the offsets of the first and last traces were 31.4159 and 12031.4159, then offset change per channel would be 12 metres (a total change of 12000m over 1000 channels). 
  2. Mute/snap above or below threshold: Within a velocity range or within an entire band or block, muting can be applied selectively to wavelet coefficients that pass a certain threshold. This field determines whether to mute large magnitude coefficients or small ones. 
  3. Threshold: Percentile or mean. Determines how the process computes the threshold within each band or block 
  4. Threshold percentile: if 'Percentile' is selected, which percentile to use. For example, the median is 50, the lower and upper quartiles are 25 and 75 respectively. 
  5. These parameters mean: You can't edit this label. Read it carefully, though, the computer is trying to explain what it thinks you want to do. The label will be updated as you tinker with the threshold statistics options. 
  6. Mute/snap inside velocity range: Determines if muting should occur inside or outside the given velocity range. 
  1. Muting block table: Initially empty (which means don't mute anything), you use this table to tell the transform which blocks to mute.
    • In each row, you give either a 'transform band to mute' (if your transform is 1D) or both a Vertical and a Horizontal transform band to mute. 
    • These fields accept numbers. Band 1 is the topmost (or leftmost, for the horizontal transform), and the bands are numbered sequentially from top to bottom (or left to right, for the horizontal transform). Lower-numbered bands correspond to higher frequencies (or wavenumbers, if horizontal) 
    • These fields also accept ranges: so, entering 2-5 means "mute bands 2, 3, 4 and 5" 
    • If the end number of the range is omitted, it means there's no upper limit: so, entering 3- means "mute band 3, and all lower frequencies as well, that is, 3, 4, 5, and so on" 
    • If the start number of the range is omitted, it means there's no lower limit. So, entering -3 means "mute band 3, and all higher frequencies as well, that is, bands 1, 2 and 3". It doesn't mean mute band negative three! There's no such thing! 
    • Entering * means "mute all bands". 
    • You can also enter a comma-separated list of any of the above, for example: 1,3,6-8. 
    • So, entering "3-4" in the "Vertical transform band to mute" and "1-2" in the "Horizontal transform band to mute" will cause the process to mute just those 2D transform blocks in vertical bands 3 or 4, and horizontal bands 1 and 2. 
    • Entering multiple rows in the table will mute a block if it matches any of the rows. So, to mute everything except block (2,3), you'd enter two rows: 
    • The first row would have vertical band "1,3-" and horizontal band "*" 
    • The second row would have vertical band "*" and horizontal band "1,2,4-" 
    • A block will only be muted once (per process), even if it matches multiple rows. 

Histogram Display Options

This section can be used to display a histogram of the wavelet coefficients. Any muting/snapping is applied before the coefficients are passed to the histogram display. These options don't affect the output. 

  • Shot for histogram: Which shot you want to display 
  • Vertical Band: the vertical band to pass to the histogram 
  • Horizontal Band: the horizontal band to pass to the histogram, if your transform is 2D. If it is not, the histogram will be generated from all traces in the shot. 
  • Use base 10 log scaled values: the horizontal scale will be the (base 10) logarithm of the values, instead of the values themselves. For example, a value "-3" on the horizontal scakle would represent a wavelet coefficient equal to 0.001. Note carefully: Coefficients that are exactly zero are ignored if log scaled values are displayed. 
  • Show Histogram: Clicking this button will generate and display the histogram, which opens in a new window. Since this feature is in beta, please note carefully any strange behaviour (for example, the histogram shows the wrong volume, line or shot, or produces a problem reporter), and when you contact support, explain as carefully as possible the steps we can do to make the error happen.

Tips for more complex muting 

You may find you wish to apply different muting parameters to different blocks; as a random example, you might want to use different velocities to mute different frequencies (bands). As mentioned earlier, you can do this as follows:

  • Create a forwards wavelet transform process, and set up your wavelet parameters (Q and redundancy) 
  • Copy this process (so you don't have to re-enter your wavelet parameters), and set the transform direction to 'Stay in the wavelet domain'. Set up your max TWT and channel, and your muting parameters. Set the input to the forwards transform process. 
  • Copy this second process (so you don't have to re-enter max TWT and max Channel), and set up your second set of muting parameters. Set the input to the first 'stay in the wavelet domain' process. 
  • Repeat the above step as many times as you wish, making sure your processes form a chain. 
  • Finally, copy one of the above processes, disable muting, and change 'transform direction' to 'inverse' 

This has the following advantages:

  • wavelet transforms are expensive. A chain like this only actually performs the transform at the start and the end of the chain. 
  • you can view the data in the wavelet domain, and by scrolling through the volumes, see whether your muting is doing what you expect.