Source code for pyacs.gts.lib.primitive.differentiate

###################################################################
[docs] def differentiate(self): ################################################################### """ Differentiate the current time series (first difference along time). Returns ------- Gts Differentiated time series as a new Gts object. Notes ----- Differentiation is performed on .data. .data_xyz is set to None. """ # import import inspect import numpy as np import pyacs.lib.astrotime # check data is not None from pyacs.gts.lib.errors import GtsInputDataNone try: if self.data is None: # raise exception raise GtsInputDataNone(inspect.stack()[0][3],__name__,self) except GtsInputDataNone as error: # print PYACS WARNING print( error ) return( self ) new_Gts=self.copy() data=self.data data_diff=np.diff(data,axis=0) # for dates data_mjd = pyacs.lib.astrotime.decyear2mjd( data[:,0] ) new_data_mjd = ( data_mjd[0:-1] + data_mjd[1:] ) / 2. # data_diff[:,0]=data[0:len(data[:,0])-1,0]+data_diff[:,0] data_diff[:,0] = pyacs.lib.astrotime.mjd2decyear( new_data_mjd ) new_Gts.data=data_diff.copy() # set .data_xyz to None new_Gts.data_xyz = None return(new_Gts)