Loading pysen/inout/scans.py +8 −3 Original line number Diff line number Diff line Loading @@ -175,7 +175,7 @@ class EchoScan(BaseScan): self.info['base'], t, len(p), nphases) return ntaus, nphases def get_phase_step(self, npha): def get_phase_step(self, npha, max_phase_step=180.0): "get average phase step and round it to a degree" phasesens = self.info.get('phasesens') act_phase_step = [] Loading @@ -183,11 +183,16 @@ class EchoScan(BaseScan): phases = np.asarray([ _pha['phase'] for _pha in tau ]) phases = phases[:npha] dpha = (phases[1:]-phases[:-1])*phasesens bad_phase = abs(dpha)>max_phase_step # TODO: find a better way to cleanup bad phases if any(bad_phase): self.log.warning("%s: get_phase_step: removing bad phase steps %s", self.info['base'], dpha[bad_phase]) dpha = dpha[~bad_phase] act_phase_step.extend(dpha) act_phase_step = np.asarray(act_phase_step) avg_phase_step = np.average(act_phase_step) self.log.debug("get_phase_step: actual %s", act_phase_step) self.log.debug("get_phase_step: average %s", avg_phase_step) self.log.debug("%s: get_phase_step: actual %s", self.info['base'], act_phase_step) self.log.debug("%s: get_phase_step: average %s", self.info['base'], avg_phase_step) return avg_phase_step def read_nexus(self, nxsfile, **kwargs): Loading Loading
pysen/inout/scans.py +8 −3 Original line number Diff line number Diff line Loading @@ -175,7 +175,7 @@ class EchoScan(BaseScan): self.info['base'], t, len(p), nphases) return ntaus, nphases def get_phase_step(self, npha): def get_phase_step(self, npha, max_phase_step=180.0): "get average phase step and round it to a degree" phasesens = self.info.get('phasesens') act_phase_step = [] Loading @@ -183,11 +183,16 @@ class EchoScan(BaseScan): phases = np.asarray([ _pha['phase'] for _pha in tau ]) phases = phases[:npha] dpha = (phases[1:]-phases[:-1])*phasesens bad_phase = abs(dpha)>max_phase_step # TODO: find a better way to cleanup bad phases if any(bad_phase): self.log.warning("%s: get_phase_step: removing bad phase steps %s", self.info['base'], dpha[bad_phase]) dpha = dpha[~bad_phase] act_phase_step.extend(dpha) act_phase_step = np.asarray(act_phase_step) avg_phase_step = np.average(act_phase_step) self.log.debug("get_phase_step: actual %s", act_phase_step) self.log.debug("get_phase_step: average %s", avg_phase_step) self.log.debug("%s: get_phase_step: actual %s", self.info['base'], act_phase_step) self.log.debug("%s: get_phase_step: average %s", self.info['base'], avg_phase_step) return avg_phase_step def read_nexus(self, nxsfile, **kwargs): Loading