WIP: Simplify data structure #39
							
								
								
									
										4
									
								
								PyLoT.py
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								PyLoT.py
									
									
									
									
									
								
							| @ -72,7 +72,7 @@ from pylot.core.util.errors import DatastructureError, \ | |||||||
|     OverwriteError |     OverwriteError | ||||||
| from pylot.core.util.connection import checkurl | from pylot.core.util.connection import checkurl | ||||||
| from pylot.core.util.dataprocessing import Metadata, restitute_data | from pylot.core.util.dataprocessing import Metadata, restitute_data | ||||||
| from pylot.core.util.utils import fnConstructor, getLogin, \ | from pylot.core.util.utils import fnConstructor, get_login, \ | ||||||
|     full_range, readFilterInformation, pick_color_plt, \ |     full_range, readFilterInformation, pick_color_plt, \ | ||||||
|     pick_linestyle_plt, identifyPhaseID, excludeQualityClasses, \ |     pick_linestyle_plt, identifyPhaseID, excludeQualityClasses, \ | ||||||
|     transform_colors_mpl, transform_colors_mpl_str, getAutoFilteroptions, check_all_obspy, \ |     transform_colors_mpl, transform_colors_mpl_str, getAutoFilteroptions, check_all_obspy, \ | ||||||
| @ -196,7 +196,7 @@ class MainWindow(QMainWindow): | |||||||
|                 if settings.value("user/FullName", None) is None: |                 if settings.value("user/FullName", None) is None: | ||||||
|                     fulluser = QInputDialog.getText(self, "Enter Name:", "Full name") |                     fulluser = QInputDialog.getText(self, "Enter Name:", "Full name") | ||||||
|                     settings.setValue("user/FullName", fulluser) |                     settings.setValue("user/FullName", fulluser) | ||||||
|                     settings.setValue("user/Login", getLogin()) |                     settings.setValue("user/Login", get_login()) | ||||||
|                 if settings.value("agency_id", None) is None: |                 if settings.value("agency_id", None) is None: | ||||||
|                     agency = QInputDialog.getText(self, |                     agency = QInputDialog.getText(self, | ||||||
|                                                   "Enter authority/institution name:", |                                                   "Enter authority/institution name:", | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| from obspy import UTCDateTime | from obspy import UTCDateTime | ||||||
| from obspy.core import event as ope | from obspy.core import event as ope | ||||||
| 
 | 
 | ||||||
| from pylot.core.util.utils import getLogin, get_hash | from pylot.core.util.utils import get_login, get_hash | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def create_amplitude(pickID, amp, unit, category, cinfo): | def create_amplitude(pickID, amp, unit, category, cinfo): | ||||||
| @ -61,7 +61,7 @@ def create_creation_info(agency_id=None, creation_time=None, author=None): | |||||||
|     :return: |     :return: | ||||||
|     ''' |     ''' | ||||||
|     if author is None: |     if author is None: | ||||||
|         author = getLogin() |         author = get_login() | ||||||
|     if creation_time is None: |     if creation_time is None: | ||||||
|         creation_time = UTCDateTime() |         creation_time = UTCDateTime() | ||||||
|     return ope.CreationInfo(agency_id=agency_id, author=author, |     return ope.CreationInfo(agency_id=agency_id, author=author, | ||||||
|  | |||||||
| @ -87,25 +87,6 @@ def fit_curve(x, y): | |||||||
|     return splev, splrep(x, y) |     return splev, splrep(x, y) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def getindexbounds(f, eta): |  | ||||||
|     """ |  | ||||||
|     Get indices of values closest below and above maximum value in an array |  | ||||||
|     :param f: array |  | ||||||
|     :type f: `~numpy.ndarray` |  | ||||||
|     :param eta: look for value in array that is closes to max_value * eta |  | ||||||
|     :type eta: float |  | ||||||
|     :return: tuple containing index of max value, index of value closest below max value, |  | ||||||
|      index of value closest above max value |  | ||||||
|     :rtype: (int, int, int) |  | ||||||
|     """ |  | ||||||
|     mi = f.argmax()  # get indices of max values |  | ||||||
|     m = max(f)  # get maximum value |  | ||||||
|     b = m * eta  # |  | ||||||
|     l = find_nearest(f[:mi], b)  # find closest value below max value |  | ||||||
|     u = find_nearest(f[mi:], b) + mi  # find closest value above max value |  | ||||||
|     return mi, l, u |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def gen_Pool(ncores=0): | def gen_Pool(ncores=0): | ||||||
|     """ |     """ | ||||||
|     Generate mulitprocessing pool object utilizing ncores amount of cores |     Generate mulitprocessing pool object utilizing ncores amount of cores | ||||||
| @ -501,10 +482,10 @@ def get_hash(time): | |||||||
|     return hg.hexdigest() |     return hg.hexdigest() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def getLogin(): | def get_login(): | ||||||
|     """ |     """ | ||||||
|     returns the actual user's login ID |     returns the actual user's name | ||||||
|     :return: login ID |     :return: login name | ||||||
|     :rtype: str |     :rtype: str | ||||||
|     """ |     """ | ||||||
|     import getpass |     import getpass | ||||||
| @ -885,21 +866,6 @@ def transform_colors_mpl(colors): | |||||||
|     return colors_mpl |     return colors_mpl | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def remove_underscores(data): |  | ||||||
|     """ |  | ||||||
|     takes a `obspy.core.stream.Stream` object and removes all underscores |  | ||||||
|     from station names |  | ||||||
|     :param data: stream of seismic data |  | ||||||
|     :type data: `~obspy.core.stream.Stream` |  | ||||||
|     :return: data stream |  | ||||||
|     :rtype: `~obspy.core.stream.Stream` |  | ||||||
|     """ |  | ||||||
|     # for tr in data: |  | ||||||
|     #    # remove underscores |  | ||||||
|     #    tr.stats.station = tr.stats.station.strip('_') |  | ||||||
|     return data |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def trim_station_components(data, trim_start=True, trim_end=True): | def trim_station_components(data, trim_start=True, trim_end=True): | ||||||
|     """ |     """ | ||||||
|     cut a stream so only the part common to all three traces is kept to avoid dealing with offsets |     cut a stream so only the part common to all three traces is kept to avoid dealing with offsets | ||||||
| @ -1174,38 +1140,6 @@ def check4rotated(data, metadata=None, verbosity=1): | |||||||
|     return data |     return data | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def scaleWFData(data, factor=None, components='all'): |  | ||||||
|     """ |  | ||||||
|     produce scaled waveforms from given waveform data and a scaling factor, |  | ||||||
|     waveform may be selected by their components name |  | ||||||
|     :param data: waveform data to be scaled |  | ||||||
|     :type data: `~obspy.core.stream.Stream` object |  | ||||||
|     :param factor: scaling factor |  | ||||||
|     :type factor: float |  | ||||||
|     :param components: components labels for the traces in data to be scaled by |  | ||||||
|      the scaling factor (optional, default: 'all') |  | ||||||
|     :type components: tuple |  | ||||||
|     :return:  scaled waveform data |  | ||||||
|     :rtype: `~obspy.core.stream.Stream` object |  | ||||||
|     """ |  | ||||||
|     if components != 'all': |  | ||||||
|         for comp in components: |  | ||||||
|             if factor is None: |  | ||||||
|                 max_val = np.max(np.abs(data.select(component=comp)[0].data)) |  | ||||||
|                 data.select(component=comp)[0].data /= 2 * max_val |  | ||||||
|             else: |  | ||||||
|                 data.select(component=comp)[0].data /= 2 * factor |  | ||||||
|     else: |  | ||||||
|         for tr in data: |  | ||||||
|             if factor is None: |  | ||||||
|                 max_val = float(np.max(np.abs(tr.data))) |  | ||||||
|                 tr.data /= 2 * max_val |  | ||||||
|             else: |  | ||||||
|                 tr.data /= 2 * factor |  | ||||||
| 
 |  | ||||||
|     return data |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def runProgram(cmd, parameter=None): | def runProgram(cmd, parameter=None): | ||||||
|     """ |     """ | ||||||
|     run an external program specified by cmd with parameters input returning the |     run an external program specified by cmd with parameters input returning the | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user