def autointerpret(self, event, step_size=None, calculation_type="DE-BFL"):
        """
        Clears current interpretations and adds interpretations to every
        specimen of type = calculation_type by attempting fits of size =
        step size and type = calculation_type and testing the mad or a95
        then finding peaks in these to note areas of maximum error then fits
        between these peaks excluding them.

        Parameters
        ----------
        step_size : int that is the size of fits to make while stepping
            through data if None then step size = len(meas data for
            specimen)/10 rounded up if that value is greater than 3 else it
            is 3 (default: None)
        calculation_type : type of fit to make (default: DE-BFL or line)
        """
        if not self.user_warning("This feature is in ALPHA and still in development and testing. It is subject to bugs and will often create a LOT of new interpretations. This feature should only be used to get a general idea of the trend of the data before actually mannuely interpreting the data and the output of this function should certainly not be trusted as 100% accurate and useable for publication. Would you like to continue?"):
            return
        if not self.clear_interpretations():
            return

        print("Autointerpretation Start")

        self.set_test_mode(True)
        for specimen in self.specimens:
            self.autointerpret_specimen(specimen, step_size, calculation_type)
        self.set_test_mode(False)

        if self.pmag_results_data['specimens'][self.s] != []:
            self.current_fit = self.pmag_results_data['specimens'][self.s][-1]
        else:
            self.current_fit = None
        print("Autointerpretation Complete")
        self.update_selection()
        if self.ie_open:
            self.ie.update_editor()