https://github.com/bamresearch/sofa

SOftware for Force Analysis - A graphical user interface to analyze Atomic Force Microscopy Force Spectroscopy data

https://github.com/bamresearch/sofa

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.0%) to scientific vocabulary

Keywords

atomic-force-microscopy data-science data-visualization
Last synced: 6 months ago · JSON representation

Repository

SOftware for Force Analysis - A graphical user interface to analyze Atomic Force Microscopy Force Spectroscopy data

Basic Info
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
atomic-force-microscopy data-science data-visualization
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.rst

====
SOFA
====

Description
===========
SOFA is a GUI which addresses the most common problems of AFM force spectroscopy: finding the true point of contact of any given force-distance curve and increasing signal to noise ratio of single curves by defining and averaging representative subsets of curves. By loading an array of curves (force map or force volume depending on the AFM company) into SOFA a universal algorithm corrects and plots all force distance curves into one common coordinate system (cantilever deflection  vs piezo displacement Z). 

Subgroups of curves can be defined by either 

- choosing a section of the x,y array 
- excluding single curves (visual outliers) 
- using predefined curve characteristics (channels, i.e. stiffness, adhesion, hysteresis). 

Subsets of curves are automatically averaged and can be exported for subsequent analysis, as can the channel maps. 

Documentation
=============
For examples of how SOFA can be used and detailed information about the implementation of SOFA read the `documentation `_.

Examples
========
Test data can be found in the test_data folder. The data is from the FTC method. For a detailed documentation on how to use the software see the tutorial section in the documentation.

Installation
============

First, get a copy of the source code. Either by cloning this repository or by downloading a snapshot ZIP package by clicking on that green button above.

Windows
-------

Install `miniconda `_
or `miniforge `_.
Open the *Miniconda Prompt* or the *Miniforge Prompt* and type the following commands. 

First, create a new environment for *SOFA* and required packages::

    conda create -n sofa

Activate the new environment::

    conda activate sofa

Install required packages which are specified in `requirements.txt` file::

    conda install -c conda-forge --file requirements.txt

Install additional packages *SOFA* requires which not available through *conda*::

    pip install -r requirements_pip.txt

Finally, run the program::

    python sofa/sofa.py

Linux/Ubuntu
------------

Install tkinter system wide packages::

    sudo apt install python3-tk python3-pil.imagetk

Create a Python virtual environment (venv) for SOFA required modules::

    python3 -m venv --system-site-packages --symlinks ~/.py11sofa

Activate that venv::

    source ~/.py11sofa/bin/activate

Install further Python packages required by SOFA::

    cd 
    pip install -r requirements.txt -r requirements_pip.txt

Finally, run the program::

    python sofa/sofa.py

Contact
=======
To get in contact please use the following email address: sofa@bam.de

License
=======
This software is distributed under the GNU GENERAL PUBLIC LICENSE, see the COPYING file for detailed information.

Owner

  • Name: Bundesanstalt für Materialforschung und -prüfung
  • Login: BAMresearch
  • Kind: organization
  • Email: oss@bam.de
  • Location: Berlin/Germany

German Federal scientific research institute for materials testing and research

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Dependencies

.github/workflows/sofa-test-python-code.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
requirements.txt pypi
  • igor *
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *
  • ttkbootstrap *
requirements_pip.txt pypi
  • ttkbootstrap *