

Fast Median Filtering is a non-linear filtering technique used in seismic data processing to suppress impulsive noise and spikes while preserving edges and reflection continuity. Instead of averaging samples (like mean filters), it replaces each sample with the median value from a local neighborhood, making it robust against outliers.
Use smaller windows for pre-stack data (to avoid smearing moveout) and slightly larger windows for post-stack data.
How it works?
•A moving 2D window slides across the data (time × trace or inline × crossline).
•All samples inside the window are collected.
•The median (middle value when sorted) is computed.
•The center sample is replaced by this median (or compared against it, depending on implementation).
When to use it?
Pre-stack
•Remove spikes, bad traces, random impulsive noise
•Clean gathers before velocity analysis, NMO, or stack
•Preserve moveout trends better than mean filters
Post-stack
•Suppress residual random noise
•Improve lateral continuity of reflectors
•Edge-preserving smoothing prior to interpretation


Input DataItem
Input gather - provide output gather (this could be pre or post-stack).


Window X - Defines the horizontal window size (number of traces, inlines, or crosslines). It controls later smoothing. When the user uses large X values, it will suppress stronger noise however it is having a higher risk of smearing small features/events. By default, 10.
Window Y - Defines the vertical window size (number of samples or time/depth). It controls vertical smoothing. With larger Y values, it removes short period noise but distort thin beds. Attention must be paid. For both pre and post stack data, it is recommended to use smaller numbers. By default, 10.

Use custom range - Limits the amplitude range considered during median calculation. Prevents extreme spikes from dominating the median and stabilizes filtering when data contain outliers or clipping. By default, FALSE.

Use custom range - true - if this option is checked, provide the minimum and maximum amplitude values.
Min - provide the lower amplitude bound. By default, 0.
Max - provide the higher amplitude bound. By default, 0.
Bucket size - Controls how data values are grouped internally to speed up median computation. Advantage of having larger bucket size is that faster processing, lower amplitude precision. On the contrary, smaller bucket size gives higher precision but slightly slower in execution. Use a bucket size small enough to preserve amplitude resolution but large enough for acceptable speed on big datasets. By default, 0.001


Auto-connection - By default, TRUE(Checked).It will automatically connects to the next module. To avoid auto-connect, the user should uncheck this option.
Bad data values option { Fix, Notify, Continue } - This is applicable whenever there is a bad value or NaN (Not a Number) in the data. By default, Notify. While testing, it is good to opt as Notify option. Once we understand the root cause of it,the user can either choose the option Fix or Continue. In this way, the job won't stop/fail during the production.
Notify - It will notify the issue if there are any bad values or NaN. This will halt the workflow execution.
Fix - It will fix the bad values and continue executing the workflow.
Continue - This option will continue the execution of the workflow however if there are any bad values or NaN, it won't fix it.
Calculate difference - This option creates the difference display gather between input and output gathers. By default Unchecked. To create a difference, check the option.
Number of threads - One less than total no of nodes/threads to execute a job in multi-thread mode. Limit number of threads on main machine.
Skip - By default, FALSE(Unchecked). This option helps to bypass the module from the workflow.


Output DataItem
Output gather - generates output gather as a vista item. This output gather can be used for further processing.
Gather of difference - generates difference gather before and after applying median filtering.


There is information available for this module.


In this example, we are reading a post stack dataset to attenuate/remove the random noise by using Median filtering.




There are no action items available for this module.


YouTube video lesson, click here to open [VIDEO IN PROCESS...]


Yilmaz. O., 1987, Seismic data processing: Society of Exploration Geophysicist
* * * If you have any questions, please send an e-mail to: support@geomage.com * * *