A method of generating an image from Synthetic Aperture Radar (SAR) raw sensor data, comprising: reading a plurality of raw sensor data sets , each raw sensor data set read from one or more sensors at a plurality of sensor positions or inertial states , wherein each set of raw data is obtained from a radio-frequency pulse by storing all the radar returned signals, as amplitudes and phases, over a time period, taken from the plurality of sensor positions or inertial states; wherein multiple raw sensor data is taken from different locations at different points in time, or, with multiple sensors, where multiple raw sensor data is taken from different locations at the same or nearly the same point in time; generating an estimate of each of the plurality of sensor inertial states ; wherein each of the raw sensor data sets is retained while performing steps comprising: generating an image , the image generated at least in part from the plurality of estimated sensor inertial states and the stored amplitudes and phases of the plurality of raw sensor data sets ; and generating an updated estimate of at least one of the sensor inertial states , the updated estimate of the at least one of the sensor inertial states generated at least in part from the generated image and the plurality of estimated sensor inertial states ; generating an enhanced image from the retained raw sensor data sets and the updated estimate of the at least one of the sensor inertial states . reading a plurality of raw sensor data sets , each raw sensor data set read from one or more sensors at a plurality of sensor positions or inertial states , wherein each set of raw data is obtained from a radio-frequency pulse by storing all the radar returned signals, as amplitudes and phases, over a time period, taken from the plurality of sensor positions or inertial states; wherein multiple raw sensor data is taken from different locations at different points in time, or, with multiple sensors, where multiple raw sensor data is taken from different locations at the same or nearly the same point in time; generating an estimate of each of the plurality of sensor inertial states ; wherein each of the raw sensor data sets is retained while performing steps comprising: generating an image , the image generated at least in part from the plurality of estimated sensor inertial states and the stored amplitudes and phases of the plurality of raw sensor data sets ; and generating an updated estimate of at least one of the sensor inertial states , the updated estimate of the at least one of the sensor inertial states generated at least in part from the generated image and the plurality of estimated sensor inertial states ; generating an enhanced image from the retained raw sensor data sets and the updated estimate of the at least one of the sensor inertial states . generating an image , the image generated at least in part from the plurality of estimated sensor inertial states and the stored amplitudes and phases of the plurality of raw sensor data sets ; and generating an updated estimate of at least one of the sensor inertial states , the updated estimate of the at least one of the sensor inertial states generated at least in part from the generated image and the plurality of estimated sensor inertial states ; generating an enhanced image from the retained raw sensor data sets and the updated estimate of the at least one of the sensor inertial states . <EOS>