What does the Origin software do

OriginPro - OriginLab - Programming

Origin C

An example of typical Origin C code with syntax highlighting in the Code Builder

Origin / OriginPro includes Origin C, an ANSI C compatible programming language that also includes elements of C ++ and C #. In the Origin C programming environment, it is possible to utilize the full scope of Origin's functionalities, including the creation of user-defined tools using X-Functions.

Origin C can be used for a wide variety of programming tasks:

  • Development of analysis and simulation functions
  • Automation of your data analysis and drawing tasks
  • Create custom fitting functions to be used with Origin's curve fitting module NLFit
  • Linking to external dynamic link libraries (DLL)
  • Calling of calculation routines from the NAG library
  • Calling C or Fortran library routines, such as DIGITAL Fortrans IMSL library, or other public domain libraries
  • Create data acquisition solutions for RS-232, GPIB, etc.
  • Development of Complicated Algorithms

Programs written in Origin C are compiled and associated with internal Origin objects that are executed at runtime. Although they are not as fast as machine-executed code produced by actual compilers, they provide a significant speed improvement over previous programming options in Origin. In fact, certain tasks such as computation loops and curve fitting are completed 20 times faster with custom fitting functions than when they are performed with LabTalk ™, Origin's standard scripting language.

For the highest possible speed, Origin C can be linked to external dynamic link libraries (DLLs) that are built using third-party compilers such as Microsoft® Visual C ++ were built. Origin C's linkage with the DLLs enables address references from Origin's data structures to be passed directly to external DLLs, with less overhead or unnecessary copying of data than is normally required when programming in Microsoft® Visual Basic is the case.

Code Builder, Origin C's integrated development environment, provides users with a familiar programming language that includes color-coded editing and advanced debugging functions.


The classic script window serves as both a command console and a text editor.

LabTalk is a full-fledged scripting language from Origin with a similar syntax and structure to C. LabTalk combines DOS commands with radio buttons and arguments as well as object properties and methods that are comparable to those of Visual Basic. Virtually every task in Origin can be performed not only through the graphical user interface, but also with the help of script. This makes LabTalk an extremely useful and versatile tool:

  • LabTalk is ideal for performing and automating simple tasks
  • Write and run simple scripts from many locations, including columns of data.
  • Create custom LabTalk tools that can be run from a menu item or toolbar.
  • LabTalk provides full functional support, including declaring functions from the command line.
  • Calling Origin C and X functions via LabTalk.

X functions

X function in Origin made accessible via the menu

In a structured development environment, the so-called X-Function-Builder, X-Functions offer a framework for creating your own Origin tools. This framework simplifies the creation of the input dialog so that the user can concentrate on creating the processing code. Most of Origin's built-in functions are X-Functions and many of them can be used via the menu or command line. This flexibility in calling the X-functions makes them an attractive way to automate your own tasks in Origin. X functions can also be embedded in LabTalk and Origin C code.

NAG library

Origin contains the entire Mark 9 library for numerical calculation routines from the Numerical Algorithms Group, Inc. (NAG®). These routines provide a wide variety of numerical algorithms for performing calculations such as simple statistics and Fourier transforms, as well as linear algebra and multivariate analysis. All NAG functions can be called from Origin C. Origin C gives you a platform for developing applications that require complex numerical calculations.

Calling the NAG library from Origin

The NAG Mark 9 library includes these numerical calculations and other utilities:

  • Complex arithmetic
  • Polynomial zeros
  • Root of one or other transcendental equations
  • Fourier transforms
  • Squaring
  • Ordinary differential equations
  • Partial differential equations
  • Mesh generation
  • interpolation
  • Curve and surface fitting
  • Minimize or maximize a function
  • Linear Algebra
  • Matrix factoring
  • Eigenvalues ​​and Eigenvectors
  • Determinants
  • Simultaneous linear equations
  • Functions of linear algebra
  • Linear equations (LAPACK)
  • Problems of Least Squares and Eigenvalues ​​(LAPACK)
  • Sparse linear algebra
  • NAG interface to BLAS
  • Simple calculations for statistical data
  • Correlation and regression analyzes
  • Multivariate methods
  • Analysis of variance
  • Univariate estimate
  • Nonparametric Statistics
  • Smoothing in the statistics
  • Contingency table analysis
  • Service life analysis
  • Time series analysis
  • Operations Research
  • sort by
  • Approximations of special functions
  • Mathematical constants
  • Machine constants
  • Input / output utilities

Support for the NAG library is available as part of the ADDITIVE Professional Service.

Examples of how to call NAG functions from Origin C code can be found here.


A Python dialog within Origin

In addition to programming in LabTalk and Origin C, Python can also be used for programming in Origin. This provides Python developers with a powerful visualization environment and the use of Origin concepts such as analysis templates, batch processing and template technology. There is no need to learn a new language, and available programs and libraries can be incorporated into Origin.

In particular, from the areas of numerics, statistics or image processing, there is a large number of routines that can be easily used within the Origin software.

The combination of Origin and Python combines ease of use, data management and the interactive graphics engine Origin with powerful numerics - and thus becomes more than just an alternative to matrix programming languages. Dialogs can also be easily added. Origin can be used by Python as an automation server for graphics and reports.