diff --git a/resolve/response.py b/resolve/response.py index c9d66ee3a5910ed8efb30b39266ddcef7b7052b8..39790d787cfb24fc5fb2c219b357be27575d7ec3 100644 --- a/resolve/response.py +++ b/resolve/response.py @@ -111,7 +111,7 @@ class MfResponse(ift.LinearOperator): Contains the the :class:`nifty8.RGSpace` for the positions. """ - def __init__( self, observation, frequency_domain, position_domain): + def __init__( self, observation, frequency_domain, position_domain, log_freq=False): my_assert_isinstance(observation, Observation) # FIXME Add polarization support my_assert(observation.npol in [1, 2]) @@ -123,7 +123,11 @@ class MfResponse(ift.LinearOperator): self._target = observation.vis.domain self._capability = self.TIMES | self.ADJOINT_TIMES - data_freq = observation.freq + if log_freq: + data_freq = np.log(observation.freq / observation.freq.mean()) + else: + data_freq = observation.freq + my_assert(np.all(np.diff(data_freq) > 0)) sky_freq = np.array(frequency_domain.coordinates) band_indices = self.band_indices(sky_freq, data_freq)