def analyzeIteration(self, iterationResults, experimentResults):
        if self.enable:
            # recalculate binned_array to get rid of cut data
            # iterationResults[self.iter_analysis_path] = self.binned_array
            meas = map(int, iterationResults['measurements'].keys())
            meas.sort()
            path = 'measurements/{}/' + self.meas_analysis_path
            try:
                res = np.array([iterationResults[path.format(m)] for m in meas])
            except KeyError:
                # I was having problem with the file maybe not being ready
                logger.warning("Issue reading hdf5 file. Waiting then repeating.")
                time.sleep(0.1)  # try again in a little
                res = []
                for m in meas:
                    try:
                        res.append(iterationResults[path.format(m)])
                    except KeyError:
                        msg = (
                            "Reading from hdf5 file during measurement `{}`"
                            " failed."
                        ).format(m)
                        logger.exception(msg)
                res = np.array(res)
            total_meas = len(self.binned_array)
            # drop superfluous ROI_columns dimension
            self.binned_array = res.reshape(res.shape[:4])
            logger.info('cut data: {}'.format(total_meas -
                                              len(self.binned_array)))
            iterationResults[self.iter_analysis_path] = self.binned_array
            if self.iterationonly:
                self.updateFigure()
        return