Exemple #1
0
 def post(self):
     """Classifies given data using specified classifier."""
     # Retrieve specified classifier from database.
     classifier_id = self.request.POST['classifier_id']
     conn = ds.create_sqlite_connection()
     db_entry = ds.fetch_classifier(conn, classifier_id)
     classifier = db_entry[3]
     # Transform given MRS data for classifier input.
     file_name = self.request.POST['myfile'].filename
     raw_data = self.request.POST['myfile'].file.read()
     d = dataparser.get_xy_data(raw_data)
     fftd = fourier_transformer.get_fft(d)
     # Classify the transformed MRS data.
     test_input = np.array([fftd])
     classification = classifier.predict(test_input)
     # Show classification results.
     template = JINJA_ENVIRONMENT.get_template('classificationresults.html')
     self.response.write(template.render(
         classification=classification, file_name=file_name))
Exemple #2
0
    def load_specified_classifier(self):
        """Loads the user-specified classifier.

        Returns:
            Tuple containing (classifier, classifier_name, classifier_type).
            If the user did not specify a classifier, then classifier and
            classifier_name will be None.
        """
        classifier = None
        classifier_name = None
        classifier_type = self.request.POST['classifier_type']
        # Load a saved classifier if specified by the user.
        if self.request.POST['load_classifier'] == 'true':
            # Query database for classifier with specified ID.
            classifier_id = self.request.POST['classifier_id']
            db_entry = ds.fetch_classifier(
                ds.create_sqlite_connection(), classifier_id)
            classifier = db_entry[3]
            classifier_type = db_entry[2]
            classifier_name = db_entry[1]
        return (classifier, classifier_name, classifier_type)