function list=list_of_seismic_functions
% List of functions for creating/using/displaying seismic datasets (used in s_tools)

list={ ...
0,6.1,'ava_approximation','Compute approximate amplitude vs angle of incidence (AVA)';
0,6.1,'ava_approximation4model','Compute approximate amplitude vs angle of incidence (AVA) for a model';
1,6.5,'ds_add_header','Add one or more headers to a seismic or a pseudo-well dataset.';
1,6.5,'ds_add_parameter','Add a parameter to a dataset; create (appending to) field "parameter_info"';
1,6.1,'ds_header','Add/delete/replace/display headers of a seismic dataset';
1,6.1,'ds_header_sort','Sort seismic header value(s); output index vector (to sort seismic traces)';
1,6.5,'ds_unit_conversion','Convert header values from one system of units to another (e.g. ft ==> m)';
0,6.1,'phase_time_shifter','Compute coefficients of zero-gain ARMA filter for phase shift';
1,6.1,'read_segy_file','Read seismic dataset in SEG-Y format from a disk file';
1,6.1,'read_segy_file_legacy','Legacy version of SEG-Y file reader';
1,6.1,'s_2d_spliced_synthetic','Plot synthetic spliced into seismic line';
0,6.1,'s_3d_header_plot','Make contour plot of one header as function of two others';
1,6.1,'s_3d_spliced_synthetic','Plot synthetic spliced into inline and cross-line of 3-D dataset';
0,6.1,'s_adapt_reflectivity','Modify reflectivity to improve match between synthetic and seismic';
1,7.1,'s_add_header4phase','Compute constant-phase and time shift from zero-phase and store in header';
1,6.1,'s_align','Align/flatten events on seismic dataset via correlation';
0,6.1,'s_align_pt','Align/flatten events (peaks, troughs, zero crossings) on seismic dataset';
0,6.1,'s_align2reference','Align seismic traces to a reference trace';
0,6.1,'s_apply_exp_gain','Apply an exponential gain to a seismic dataset';
1,6.1,'s_append','Append one seismic dataset to another seismic dataset';
0,6.1,'s_arma_filter','Apply ARMA filter to seismic dataset';
1,6.1,'s_attribute','Function is obsolete: use "s_attributes" instead.';
2,6.1,'s_attributes','Compute functionals (max, mean, ...) of seismic traces and store them in headers';
0,6.1,'s_ava_approximation','Compute angle-dependent reflectivity (AVA) for data in a model structure';
0,6.1,'s_ava4shale_sand_shale','Compute seismic data for random sand-shale models and range of angles'; 
0,6.1,'s_avapar2gather','Create gather with angle-dependent reflectivities from AVA parameters';
1,6.1,'s_check','Check seismic dataset for formal errors/mistakes, missing fields, etc.';
0,6.1,'s_beautify_wavelets','Appends/prepends (if not present) zeros to wavelets to beautify their display';
0,7.1,'s_blocky_impedance','Create blocky approximation to input impedance';
0,6.1,'s_bootstrap_mean','Compute the means of traces and the means'' standard deviation via the bootstrap method';
1,6.1,'s_compare','Plot one seismic dataset on top of another for comparison';
1,6.1,'s_convert','Create a minimal seismic structure from a matrix';
2,6.1,'s_convert2minimum_phase','Convert traces of the input data set to their minimum-phase equivalents';
1,6.1,'s_convert2zero_phase','Convert traces of the input data set to their zero-phase equivalents';
1,6.1,'s_convolve','Convolve two seismic datasets';
0,6.1,'s_constant_phase_wavelet','Estimate constant-phase wavelet from seismic and reflectivity (untested)';
1,6.1,'s_correlate','Compute cross-correlation of the traces of two seismic datasets';
1,6.1,'s_cplot','Plot seismic data in form of color-coded pixels (for larger datasets)';
0,6.1,'s_create_reflections4euclid','Create reflection traces for testing of Euclid algorithm'; 
1,6.1,'s_create_qfilter','Create constant-Q absorption filters';
1,7.0,'s_create_spike','Create a spike (one-sample wavelet)';
1,6.1,'s_create_synthetic_gather','Create a simple synthetic gather consisting of individual events (spikes)';
1,6.1,'s_create_wavelet','Create wavelet (minimum-phase, zero-phase, maximum-phase, Ricker)';
0,6.1,'s_cross_section','Create/model a cross-section with linearly interpolated reflectors';
1,6.1,'s_data','Create a test/demo dataset (12 traces of filtered random noise; 1 sec long)';
1,6.1,'s_data3d','Create a 3-D test/demo dataset (12 x 20 traces of filtered random noise; 1 sec long)';
0,6.1,'s_depth2time','Convert seismic data in depth to seismic data in time';
1,6.1,'s_dsvector2ds','Combine the traces of a dataset vector into a single seismic dataset';
1,6.1,'s_ds2dsvector','Convert seismic dataset into dataset vector; vector entries have common header';
1,6.1,'s_ds_vector2ds','OBSOLETE! Replace by "s_dsvector2ds"';
1,6.1,'s_ds2ds_vector','OBSOLETE! Replace by "s_ds2dsvector"';
0,7.0,'s_edft','Extended discrete Fourier transform (FFT after extension of the input traces)'; 
0,6.1,'s_euclid6','Estimate wavelet (one length) and reflectivity using Euclid (common-wavelet) algorithm';
0,6.1,'s_euclid_refl','Use Euclid (common-wavelet) algorithm to estimate wavelet and reflectivity';
1,6.1,'s_exp_scaling','Apply exponential scaling to each trace of a seismic dataset';
0,6.1,'s_fdecon','Perform deterministic deconvolution in the frequency domain';
1,6.1,'s_fft','Compute Fourier transform (amplitude spectrum) of seismic traces';
0,7.0,'s_fill_trace_gaps_2d','Fill missing traces (gaps) in a 2-D line with dead traces (all samples NaN)';
1,6.1,'s_filter','Apply Ormsby-type band-pass filter to seismic data';
0,6.1,'s_find_impedance_stretch6','Stretch/squeeze a seismic trace (synthetic) to match a reference trace';
1,6.1,'s_frequency_attributes','Compute bandwidth and median frequency of a seismic dataset';
1,6.1,'s_gain','Compute and apply gain (AGC) to a seismic dataset';
1,6.1,'s_get_extrema','Find value/location of trace maxima and minima';
1,6.1,'s_gd','Get description of a header of a seismic dataset';
1,6.1,'s_gh','DEPRECATED: use "ds_gh" instead';
0,6.1,'s_ghost_response','Apply effect of source/receiver ghost on seismic dataset';
1,6.1,'s_gu','Get units of measurement of a header of a seismic dataset';
1,6.1,'s_header','Add/delete/replace/display headers of a seismic dataset';
1,6.1,'s_header','DEPRECATED: use "ds_header" instead';
1,6.1,'s_header_int2double','Convert bit pattern of integers in header to floating point numbers';
1,6.1,'s_header_math','Add/replace headers of a seismic dataset by manipulating existing headers';
1,6.1,'s_header_plot','Plot header values of a seismic dataset';
1,6.1,'s_header_sort','DEPRECATED: Use "ds_header_sort" instead';
1,6.1,'s_hilbert','Compute Hilbert transform or instantaneous amplitude of seismic data';
1,6.1,'s_histogram','Compute histogram of seismic amplitudes';
1,6.1,'s_history','Manipulate/display history field of a seismic dataset';
0,6.1,'s_horizon_values','Compute seismic amplitudes at times that are stored in a header';
0,6.1,'s_hybrid_wavelet','Wavelet from ampl. spectrum of seismic and reflectivity';
0,6.1,'s_insert_deviated_synthetic','Insert synthetic into seismic along well track';
0,6.1,'s_interval attributes','Compute attributes (max, mean, ...) of interval of seismic traces';
1,6.1,'s_iplot','Like "s_wplot", but with menu-based interactive plot parameter selection';
1,6.1,'s_ispectrum','Interactively pick windows on seismic plot and compute spectra of data in these windows';
0,6.1,'s_log_extrapolation','Extrapolate impedance log by means of seismic data';
1,6.1,'s_log2reflectivity','Create reflection coefficient series from well log in depth or time';
1,6.1,'s_log2seismic','Convert log curves to seismic traces';
1,6.1,'s_multi2one_trace','OBSOLETE: Convert a multi-trace dataset into a one-trace dataset vector';
1,6.1,'s_min_phase_inverse','Compute the minimum-phase_inverse of a wavelet or a dataset';
1,6.1,'s_noise','Compute zero-mean noise with the same structure as the input dataset';
0,6.5,'s_noise_estimation_nugget','Estimate power of noise on seismic traces based on nugget effect';
1,6.1,'s_new_time','Change to new "time" axis (e.g. convert time to depth or stretch/squeeze seismic traces)';
1,6.1,'s_normalize','Normalize seismic traces to a specific value of an attribute (e.g. RMS amplitude)';
1,6.1,'s_one2multi_trace','OBSOLETE: Combine the traces of a dataset vector into one multi-trace dataset';
0,6.1,'s_pattern_response','Apply effect of source/receiver pattern on seismic dataset';
1,6.1,'s_phase_rotation','Rotate phase of each trace of input dataset by given amount(s)';
0,6.1,'s_pick_horizon_2d','Pick a horizon on a 2-D seismic section';
0,6.1,'s_pick4euclid','Interactively pick seismic segments for Euclid (Common-Signal) Wavelet Estimation';
1,6.1,'s_plot','"Quick-look" plot of seismic data (color if more than S4M.ntr_wiggle2color traces, wiggle otherwise)';
0,6.1,'s_plot_spectra_wavelet_seismic','Plot wavelet and spectra of wavelet, seismic, and synthetic';
1,6.1,'s_plot_with_header','Plot selected header(s) above seismic in wiggle-trace or color-image format';
1,6.1,'s_plot_wavelet_with_spectrum','One-figure plot of a wavelet and its amplitude spectrum';
0,6.1,'s_pmo','Eugene Lichman''s phase moveout';
1,6.1,'s_power_spectrum','Compute power spectrum or amplitude spectrum of seismic traces';
1,6.1,'s_principal_components','Principal-component decomposition/analysis/smoothing';
0,6.1,'s_reflections2impedance','Compute impedance from reflection coefficients';
0,6.1,'s_reflections4shale_shale_model','Compute reflection record for random shale-shale model';
0,6.1,'s_reflections4shale_sand_shale_model','Reflection coefficients for random shale/gross-sand/shale model';
1,6.1,'s_reflcoeff','Compute reflection coefficients from impedance';
1,6.1,'s_resample','Resample seismic dataset to higher or lower sample rate';
1,6.1,'s_rm_trace_nulls','Remove leading/trailing Null values common to all traces; replace other NaNs with zeros';
1,6.1,'s_rm_traces','Remove traces which have one NaN or have only NaNs (null values)';
1,6.1,'s_rm_trend','Removes means/bias, medians, trends, etc. from traces of seismic dataset';
1,6.1,'s_rm_zeros','Remove leading/trailing zeros common to all traces and adjust times of first/last sample';
1,6.1,'s_scale_seismic_data_sets','Compute scale factors to match two seismic datasets';
1,6.1,'s_roots2wavelet','Compute wavelet from the roots of its z-transform';
1,6.1,'s_seismic2wavelet','Compute wavelet with spectrum of seismic (min-phase, max-phase, zero-phase)';
0,6.1,'s_seismic2wavelets','Compute wavelets(min/max/zero-phase) with spectrum of seismic from randomly chosen traces';
1,6.1,'s_select','Select range of time and/or traces of a seismic dataset';
1,6.1,'s_select_polygon','Select subset of a 2-D dataset either inside or outside a polygonal region';
1,6.1,'s_shift','Apply time shifts to seismic traces';
0,6.1,'s_signal_comparison','Compute dissimilarity between traces of two datasets; store result in header';
0,6.1,'s_signal_parameters','Compute/print/store in header wavelet/signal phase, median frequency, bandwidth';
2,7.1,'s_slice3d','Plot a slice of a 3-D dataset';
1,6.1,'s_spectrum','Plot amplitude and/or phase spectra of one or more seismic datasets';
0,6.1,'s_spick1','Interactively pick time/trace pairs from a plot of seismic data (at most one pick per trace)';
1,6.1,'s_seismic4jason','Write seismic data to ASCII file in Jason format';
1,6.1,'s_spectrum2wavelet','Compute zero-phase wavelet from amplitude spectrum';
0,6.1,'s_spicks','Interactively pick time/trace pairs from a plot of seismic data (no restriction on number of picks/trace)';
1,6.1,'s_stack','Stack seismic data';
2,6.1,'s_stack_with_deviation','Stack seismic data and compute the deviation from the stack';
0,6.1,'s_synthetic_wm','Compute synthetic seismogram with/without multiples (Goupillaud)';
1,6.1,'s_synthetic4landmark','Write synthetic to ASCII file for use in Landmark';
0,6.1,'s_table2headers','Add headers from a table to a seismic dataset'; 
0,7.0,'s_taup2tx','Linear and parabolic inverse Radon transform (inverse tau-p transform)';
0,6.1,'s_test_gather','Create a synthetic gather (model) with no, with linear, or, with hyperbolic moveout';
0,6.1,'s_time2depth','Convert seismic data in time to seismic data in depth';
1,6.1,'s_tools','Show available seismic tools';
1,6.1,'s_trace_numbers','Get sequential trace numbers of seismic traces selected via header values';
0,6.1,'s_track_well','Extract seismic trace segments (or a single trace) along a deviated well';
0,6.1,'s_tv_spectrum','Compute time-varying spectrum and from it median frequency and bandwidth';
0,7.0,'s_tx2taup','Linear and parabolic Radon transform (tau-p transform)'; 
0,6.1,'s_utils','Show useful, seismic-related  utilities';
1,7.0,'s_volume_browser','Interactive display/plot of a 3D seismic data set (volume)';
0,6.1,'s_waavo_inversion','Invert angle gather for elastic parameters (wide-angle AVA inversion)';
0,6.1,'s_wb_time','Compute approximate time to the water bottom reflection (water depth)';
1,6.1,'s_wavelet2roots','Compute the roots of the z-transform of a wavelet';
2,6.1,'s_wavelet4hampson_russell','Write wavelet to ASCII file in Hampson-Russell format';
1,6.1,'s_wavelet_from_landmark','Read wavelet from ASCII file in Landmark format';
1,6.1,'s_wavelet_from_hampson_russell','Read wavelet from ASCII file in Hampson-Russell format';
1,6.1,'s_wavelet_from_hr','OBSOLETE: replaced by "s_wavelet_from_hampson_russell"';
0,6.1,'s_wavelet_from_spectrum','Interactively create wavelet from seismic; allows adaptation of wavelet spectrum';
0,6.1,'s_wavelet_comparison','Compare and interactively time-shift, phase-shift, and scale wavelets';
0,6.1,'s_wavelet_matching','Compute Wiener filter that matches wavelet(s) to target wavelet(s)'; 
1,6.1,'s_wavelet_stretch','Stretch wavelet in an angle-dependent way to simulate NMO stretch';
0,6.1,'s_wavest','Extract/estimate wavelet from seismic data and reflection coefficients';
1,6.1,'s_wavextra','Extract/estimate wavelet from seismic data and reflection coefficients';
0,6.1,'s_well_track','Compute seismic traces along a well trajectory';
0,6.1,'s_wedge_model','Compute/plot synthetic from wedge model and the tuning curve derived from it';
1,6.1,'s_wiener_filter','Compute Wiener filter to match one seismic dataset to another';
1,6.1,'s_window','Apply a window/taper to seismic data';
1,6.1,'s_wplot','Plot seismic data in wiggle-trace format';
2,6.1,'s_xplot','Plot seismic data in wiggle-trace format with color-coded trough values';
1,6.1,'s_zero_phase','OBSOLETE: replaced by "s_convert2zero_phase"';
2,6.1,'s_zone_attributes','Compute attributes (max, mean, ...) of seismic traces segments in a zone';
1,7.3,'show_precision','Display precision of the numeric fields of a SeisLab dataset';
1,6.1,'show_segy_header','Read/Output/Display EBCDIC header of SEG-Y file in ASCII form';
0,6.1,'si_header_plot','Interactively select three headers to plot';
0,6.1,'si_select','Interactively select and/or edit seismic trace headers info';
1,6.1,'write_segy_file','Write seismic dataset to disk in SEG-Y format (big-endian IEEE floating-point format)';
};
