Skip to content

davidfokkema/tailor

Repository files navigation

Tailor icon

Tailor

Tailor is an application for data analysis and curve fitting. You can fit custom models to your data, simply by entering the mathematical expression and choosing suitable initial values. The application is tailored to giving you an intuitive interface for entering or inspecting your data, calculating additional quantities and comparing different model curves to give you a best fit. Fashion and math do have a bit of shared vocabulary. Hence the name, Tailor. Also, at both the Vrije Universiteit Amsterdam and the University of Amsterdam we use the book "An Introduction to Error Analysis" by John R. Taylor in our inquiry-based physics labs for students. Taylor discusses least-squares fitting in chapter 8.

Note: If you want to try out Tailor please visit the materials from the workshop on Tailor for the Beyond the First Year 4 (2023) conference.

Note: Nederlandstalig oefenmateriaal is beschikbaar van onze workshop op Woudschoten 2023.

Installation

The latest version is always available on the Releases page (link is also in the right sidebar). Please scroll down to Assets and download the .msi-installer for Windows and the .dmg-installer for macOS. Als u onze stand op Woudschoten 2024 bezocht: dank voor uw interesse!

Helpdesk

We don't have a formal helpdesk, but please drop a line to [email protected] if you need assistance or have questions.

Features

  • Spreadsheet-like editing of data
  • Add multiple datasets in seperate tabs to a single project
  • Import and export of CSV files
  • Copy and paste data to and from external applications
  • Add / remove columns or rows
  • Drag to reorder columns
  • Add columns based on mathematical expressions
  • Create scatter plots with X/Y error bars
  • Fit custom models to data based on mathematical expressions
  • Create as many plots as you like to analyse multiple datasets or the same dataset with different models
  • Use a wide range of Python operators and mathematical functions
  • Deduce parameters automatically from the model expression
  • Easily change initial values and update the initial fit in the plot window
  • Apply bounds on parameters and fix a parameter to a particular value
  • Restrict fits to a subset of the data by specifying a fit domain
  • Include reduced chi-square statistic and parameter value and error estimations in the fit results
  • Easily adjust axis labels and ranges
  • Zoom and pan of all plots
  • Export plots as PNG (bitmap) or PDF (vector) images
  • Copy a dataset with associated plots and load new data to quickly repeat your analysis on a new measurement inside a single project
  • Display multiple datasets and best fits in a single plot for easy comparison

Screenshots

Screenshot showing the main window with the spreadsheet-like user interface for entering and viewing data: screenshot showing the table user interface

Screenshot showing the user interface for a diagram. In this screen you can zoom and pan the plot and enter a model expression to fit to the data. In this screenshot, an exponential decay model is fitted to data of the decay of a sample of the radon-220 isotope: screenshot showing the plot user interface

An example of an exported graph of the same dataset and fit as in the previous screenshot: exported graph of a decaying radon-220 sample

Tailor can display multiple datasets and best fits in a single plot: exported graph showing multiple datasets and best fits of a simple pendulum

Development

Set up a development environment with::

$ conda create -n tailor python=3.12
$ conda activate tailor
$ pip install briefcase

Then, for installing dependencies and running the app in the dev environment::

$ briefcase dev -d

After installing the dependencies, you can drop the -d flag and use::

$ briefcase dev

For creating a (clean) application::

$ briefcase create

And running the application (don't panic if it doesn't work on MacOS; simply try again)::

$ briefcase run

Updating the application can be quickly done with::

$ briefcase update

or update and run in one go::

$ briefcase run -u

If you need to install extra dependencies::

$ briefcase update -d

Mind that this does not remove dependencies. You must recreate the application to do that. Creating installers for the application::

$ briefcase package --no-sign

This cross-platform app was generated by Briefcase - part of The BeeWare Project. If you want to see more tools like Briefcase, please consider becoming a financial member of BeeWare.