コード例 #1
0
ファイル: NX01_psr.py プロジェクト: paulthebaker/NX01
    def makeTe(self, nmodes_red, Ttot, makeDM=False, nmodes_dm=None,
               makeEph=False, nmodes_eph=None, ephFreqs=None,
               makeClk=False, clkDesign=False, phaseshift=False):

        self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes_red,
                                                                       pshift=phaseshift, Tspan=Ttot)

        self.Ftot = self.Fred
        if makeDM:
            if nmodes_dm is None:
                nmodes_tmp = nmodes_red
            else:
                nmodes_tmp = nmodes_dm
            self.Fdm = utils.createFourierDesignmatrix_dm(self.toas, nmodes_tmp, self.obs_freqs, Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fdm, axis=1)
        if makeEph:
            if nmodes_eph is None:
                nmodes_tmp = nmodes_red
            else:
                nmodes_tmp = nmodes_eph
            self.Fephx, self.Fephy, self.Fephz = \
              utils.createFourierDesignmatrix_eph(self.toas, nmodes_tmp, self.psr_locs,
                                                  Tspan=Ttot, input_freqs=ephFreqs)
            self.Ftot = np.append(self.Ftot, self.Fephx, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephy, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephz, axis=1)
        if makeClk and clkDesign:
            self.Fclk, _ = utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes_red,
                                                               pshift=False, Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fclk, axis=1)
        
        self.Te = np.append(self.Gc, self.Ftot, axis=1)
コード例 #2
0
ファイル: NX01_psr.py プロジェクト: stasbabak/NX01
    def makeTe(self,
               nmodes,
               Ttot,
               makeDM=False,
               makeEph=False,
               phaseshift=False):

        self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(
            self.toas, nmodes=nmodes, pshift=phaseshift, Tspan=Ttot)

        if makeDM:
            self.Fdm = utils.createFourierDesignmatrix_dm(self.toas,
                                                          nmodes,
                                                          self.obs_freqs,
                                                          Tspan=Ttot)
            self.Ftot = np.append(self.Fred, self.Fdm, axis=1)
        if makeEph:
            self.Fephx, self.Fephy, self.Fephz = \
              utils.createFourierDesignmatrix_eph(self.toas, nmodes, self.psr_locs, Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fephx, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephy, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephz, axis=1)
        if not makeDM and not makeEph:
            self.Ftot = self.Fred

        self.Te = np.append(self.Gc, self.Ftot, axis=1)
コード例 #3
0
ファイル: NX01_psr.py プロジェクト: paulthebaker/NX01
    def makeFtot(self, nmodes, Ttot, phaseshift=False):
        
        self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes,
                                                                       pshift=phaseshift, Tspan=Ttot)
        self.Fdm = utils.createFourierDesignmatrix_dm(self.toas, nmodes, self.obs_freqs, Tspan=Ttot)

        self.Ftot = np.append(self.Fred, self.Fdm, axis=1)
コード例 #4
0
    def makeFtot(self, nmodes, Ttot, phaseshift=False):

        self.Fred, self.ranphase = \
          utils.createFourierDesignmatrix_red(self.toas, fqs_red, wgts_red,
                                             pshift=phaseshift, Tspan=Ttot)
        self.Fdm = utils.createFourierDesignmatrix_dm(self.toas, fqs_dm, wgts_dm,
                                                      self.obs_freqs, Tspan=Ttot)

        self.Ftot = np.append(self.Fred, self.Fdm, axis=1)
コード例 #5
0
ファイル: NX01_psr.py プロジェクト: paulthebaker/NX01
    def makeTe(self, nmodes, Ttot, makeDM=False, makeEph=False, phaseshift=False):

        self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes,
                                                                       pshift=phaseshift, Tspan=Ttot)

        if makeDM:
            self.Fdm = utils.createFourierDesignmatrix_dm(self.toas, nmodes, self.obs_freqs, Tspan=Ttot)
            self.Ftot = np.append(self.Fred, self.Fdm, axis=1)
        if makeEph:
            self.Fephx, self.Fephy, self.Fephz = \
              utils.createFourierDesignmatrix_eph(self.toas, nmodes, self.psr_locs, Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fephx, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephy, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephz, axis=1)
        if not makeDM and not makeEph:
            self.Ftot = self.Fred

        self.Te = np.append(self.Gc, self.Ftot, axis=1)
コード例 #6
0
ファイル: NX01_psr.py プロジェクト: stasbabak/NX01
    def makeTe(self,
               nmodes_red,
               Ttot,
               makeDM=False,
               nmodes_dm=None,
               makeEph=False,
               nmodes_eph=None,
               ephFreqs=None,
               phaseshift=False):

        self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(
            self.toas, nmodes=nmodes_red, pshift=phaseshift, Tspan=Ttot)

        self.Ftot = self.Fred
        if makeDM:
            if nmodes_dm is None:
                nmodes_tmp = nmodes_red
            else:
                nmodes_tmp = nmodes_dm
            self.Fdm = utils.createFourierDesignmatrix_dm(self.toas,
                                                          nmodes_tmp,
                                                          self.obs_freqs,
                                                          Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fdm, axis=1)
        if makeEph:
            if nmodes_eph is None:
                nmodes_tmp = nmodes_red
            else:
                nmodes_tmp = nmodes_eph
            self.Fephx, self.Fephy, self.Fephz = \
              utils.createFourierDesignmatrix_eph(self.toas, nmodes_tmp, self.psr_locs,
                                                  Tspan=Ttot, input_freqs=ephFreqs)
            self.Ftot = np.append(self.Ftot, self.Fephx, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephy, axis=1)
            self.Ftot = np.append(self.Ftot, self.Fephz, axis=1)

        self.Te = np.append(self.Gc, self.Ftot, axis=1)
コード例 #7
0
    def makeTe(self, Ttot, fqs_red, wgts_red, makeDM=False, fqs_dm=None, wgts_dm=None,
               makeEph=False, jplBasis=False, fqs_eph=None, wgts_eph=None, ephFreqs=None,
               makeClk=False, clkDesign=False,
               makeBand=False, bands=None,
               phaseshift=False, pshift_vals=None):

        self.Fred, self.ranphase = \
          utils.createFourierDesignmatrix_red(self.toas, fqs_red, wgts_red,
                                              pshift=phaseshift, pshift_vals=pshift_vals,
                                              Tspan=Ttot)

        self.Ftot = self.Fred
        if makeDM:
            if fqs_dm is None:
                fqs_tmp = fqs_red
                wgts_tmp = wgts_red
            else:
                fqs_tmp = fqs_dm
                wgts_tmp = wgts_dm
            self.Fdm = utils.createFourierDesignmatrix_dm(self.toas, fqs_tmp, wgts_tmp,
                                                          self.obs_freqs, Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fdm, axis=1)
        if makeEph:
            if jplBasis:
                Fmother = np.load('./data/jplephbasis/Fmother.npy')
                mjd = np.load('./data/jplephbasis/mjd.npy')

                posvec = np.array([np.sin(np.pi/2.- self.elat)*np.cos(self.elong),
                                   np.sin(np.pi/2.- self.elat)*np.sin(self.elong),
                                   np.cos(np.pi/2.- self.elat)])

                Fproj = np.dot(Fmother[:,:,:],posvec)
                Feph = np.vstack(np.interp(self.toas,mjd,Fproj[:,ii])
                                 for ii in range(Fproj.shape[1])).T
                self.Ftot = np.append(self.Ftot, Feph, axis=1)
            else:
                if fqs_eph is None:
                    fqs_tmp = fqs_red
                    wgts_tmp = wgts_red
                else:
                    fqs_tmp = fqs_eph
                    wgts_tmp = wgts_eph
                self.Fephx, self.Fephy, self.Fephz = \
                  utils.createFourierDesignmatrix_eph(self.toas, fqs_tmp, wgts_tmp, self.psrPos,
                                                      Tspan=Ttot, input_freqs=ephFreqs)
                self.Ftot = np.append(self.Ftot, self.Fephx, axis=1)
                self.Ftot = np.append(self.Ftot, self.Fephy, axis=1)
                self.Ftot = np.append(self.Ftot, self.Fephz, axis=1)
        if makeClk and clkDesign:
            self.Fclk, _ = utils.createFourierDesignmatrix_red(self.toas, fqs_red, wgts_red,
                                                               pshift=False, Tspan=Ttot)
            self.Ftot = np.append(self.Ftot, self.Fclk, axis=1)
        if makeBand:
            if fqs_band is None:
                fqs_tmp = fqs_red
                wgts_tmp = wgts_red
            else:
                fqs_tmp = fqs_band
                wgts_tmp = wgts_band
            ##
            if bands is None:
                bands = np.array([0.0, 1.0, 2.0, 3.0])
            elif bands is not None:
                bands = np.array([float(item) for item in bands.split(',')])

            Fband_tmp = utils.createFourierDesignmatrix_red(self.toas, fqs_tmp, wgts_tmp,
                                                            pshift=False, Tspan=Ttot)
            for ii in range(len(bands)-1):
                Fband_dummy = Fband_tmp.copy()
                Fband_dummy[np.logical(self.obs_freqs > 1e9*bands[ii],
                                       self.obs_freqs <= 1e9*bands[ii+1]),:] = 0.0
                self.Ftot = np.append(self.Ftot, Fband_dummy, axis=1)

        self.Te = np.append(self.Gc, self.Ftot, axis=1)
コード例 #8
0
    def makeFred(self, fqs_red, wgts_red, Ttot, phaseshift=False):

        self.Fred, self.ranphase = \
          utils.createFourierDesignmatrix_red(self.toas, fqs_red, wgts_red,
                                              pshift=phaseshift, Tspan=Ttot)
コード例 #9
0
ファイル: NX01_psr.py プロジェクト: stasbabak/NX01
    def makeFred(self, nmodes, Ttot, phaseshift=False, input_freqs=None):

        self.Fred, self.ranphase = \
          utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes,
                                              pshift=phaseshift, Tspan=Ttot,
                                              input_freqs=input_freqs)
コード例 #10
0
ファイル: NX01_psr.py プロジェクト: stasbabak/NX01
    def makeFred(self, nmodes, Ttot, phaseshift=False):

        self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(
            self.toas, nmodes=nmodes, pshift=phaseshift, Tspan=Ttot)
コード例 #11
0
ファイル: NX01_psr.py プロジェクト: paulthebaker/NX01
 def makeFred(self, nmodes, Ttot, phaseshift=False, input_freqs=None):
     
     self.Fred, self.ranphase = \
       utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes,
                                           pshift=phaseshift, Tspan=Ttot,
                                           input_freqs=input_freqs)
コード例 #12
0
ファイル: NX01_psr.py プロジェクト: paulthebaker/NX01
 def makeFred(self, nmodes, Ttot, phaseshift=False):
     
     self.Fred, self.ranphase = utils.createFourierDesignmatrix_red(self.toas, nmodes=nmodes,
                                                                    pshift=phaseshift, Tspan=Ttot)