Origin 2016 SR1 Features/Improvements

GUI (PE, Toolbar)

ORG-11356Better extra large icon images for folder, workbook, matrix, notes, excel book in Project Explorer


Flyout buttons on Toolbars more obvious

Before SR1 – Tiny, not obvious

In SR1 – More standard, easier to click on to expand

ORG-13777Change Color List on By Points tab of Chooser Chooser

Before SR1, user must change color list on Color List tab of Plot Details if the plot color is set to incrementing or using other column values.

In SR1, user can directly change Color List on By Points tab of Color Chooser.

ORG-13917Ctrl+ click Color List or Increment List in Color Chooser to edit color orders.

In SR1, user can click Ctrl+click Color List on By Points tab or Increment List on By Plots tab of Color Chooser to change the order of colors and save as future color increment list.


Graph Customization


Context menus on Axis to easily bring axis to front or push to back.

  • Data on top of Axis
  • Grid on Top of Data

By default data is drawn on top of axis.

If user wants axis, ticks or grids to be on top of data, right click axis and choose the corresponding context menus.

Before SR1, user had to go to Plot Details dialog; select the layer on the left and then go to Display tab to customize.


Support customizing shade made by Integrate gadget
  1. Plot a graph and choose Gadget: Integrate...
  2. In the dialog, on Integration tab, check Keep the Shading color after closing gadget.
  3. Click X to close the dialog
  4. Click on the shade to select it.
  5. Use Style toolbar to customize color, pattern, etc.
ORG-3693Fill Area Enclosed by End Points option in Plot Details dialog

In SR1, when filling between two plots with different X ranges, user can choose Fill to Common X Area or Area Enclosed by End Points on Line tab of Plot Details dialog.

Before SR1, default is fill to common X area. User had to use system variable @FAB=1 to fill to area enclosed by end points.

Plot Related

ORG-13852Change group plot Edit mode in Object Manager

Before SR1, user must use Plot Details dialog to change group plot Edit mode to independent to edit each plot independently.

In SR1, user can right click group e.g. g1 in Object Manager to change edit mode.


Delete key to remove data plot

Before SR1, user needs to use Remove context menu, Object Manager or some dialogs to remove data plot.

In SR1, user can click on a plot and press Delete key to remove it. For group plot, whole group will be removed. Undo is supported.


Copy and Paste Plot in Graph window.

  • System variable @DPPT is used to control the pasted plot type. 200: line, 201: scatter, 202: plot+symbol; 0: follow plot type in active window
  • The plot is based on clipboard, disconnected with source data. User can right click the plot and choose Create Worksheet Clipb2 to create XY data.

This is a nice way to do quick comparison of two plots.

Example 1: Copy a plot from one graph to another graph.

  1. Click on a plot in one graph. Ctrl+C to copy it. 
  2. Go to another graph. Ctrl+V. 
    --> A new line plot called Clipb2 will show. 

Example 2: Copy fitted curves and paste on same graph. Then change parameters or input data to do quick visual comparison of fitted cuves.

  1. Do a linear fit in graph -> a red fitted line is created.
  2. Click on the fitted curve. Ctrl+C to copy it.
  3. Ctrl+V to paste it in the same graph. –-> a black line is pasted. It's called Clipb2
  4. Now click the green lock to set Intercept fixed at 0.
  5. User can easily see difference of two fitted curves. 


Copy two columns of numeric values from notepad or webpage and paste as plot in Graph window

It must be two columns of numeric data. 1st column will be treated as X and 2nd column will be treated as Y.

  • Sytem variable @DPPR controls the minimum number of rows to enable this feature. Default is 2. E.g. if @DPPR,=5, it means there must be 5 or more rows of data to support paste as plot. If there are only 4 rows of data, it will not be pasted as plot. @DPPR=0 will disable this feature.
  • @DPPT to control what plot type to paste as. 200 (default)= Line; 201=Scatter; 202=Line+ Symbols
  • Right click the plot to create data worksheet.


ORG-14078Copy graph page and paste link to other graph window, layout, worksheet gray area

In SR1, after copying page, user can right click in another graph window, layout window, worksheet gray area and choose Paste Link context menu or Edit: Paste Link menu.

Double click it will go to corresponding graph window to customize further.

Changes in source graph will be updated in paste linked one.

ORG-13889Copy Plot as line object

User can right click a plot and choose Copy as Line Object.

Then Ctrl+V to paste it in same graph or new graph. It will be pasted as a line object.

This is another way to quickly compare two curves.

User can also go to worksheet to paste the data behind the line object.

ORG-13889Create data from line/polyline/freehand line object
  1. Use Line/Polyline/Freehand tool on Tools toolbar to add a line object in graph window.
  2. Right click it and choose Copy.
  3. Click a cell in worksheet and paste.
ORG-14118Right click on 2D function plot to create data copy of the function plot

Before SR1, after using File: New: Function Plot: 2D Function Plot menu or 2D Function Plot toolbar button to create a function plot, it took several steps to create the data copy of the plot.

In SR1, just right click the function plot and choose Make dataset copy of Fn to create the dataset. User can also click Workbook button in Plot Details dialog to create the dataset.

ORG-13813Improvements on Extracted Contour Line output

More information in Output workbook.

  • Sparkline
  • Area
  • More descriptive output workbook long name

Image Profile

ORG-13581Provide an option to output original x in profile lines for virtual matrixFor virtual matrix input, we add an drop down list Output Profile Data with two options: Same as Source and Uniform Linear
ORG-13576Button to Activate Profile datasheet in Contour Profile dialog/Profile GadgetWe Add a button to Image Profile/Contour Profile dialog: Go to Profile data. So when a graph is active, you can click the button and activate output dataset


Template Library

ORG-14036Template Library Filter status better not kept between Origin sessions

Before SR1, if user pressed Filter down to exclude cloneable templates that don't match the active workbook, when restarting Origin, the filter button is still pressed and no template may show in Template Library since default Origin workbook only has two columns A(X) and B(Y).

In SR1, a system variable @TLF is added in SR1 to allow this filter state to be
0. never remember, always reset to no filter
1. remember between open in same session (default)
2. remember between sessions

ORG-13757 S1Add Allow System Theme to override checkbox in Template Modify dialog

When plotting graph with a user-defined graph template,

system theme will be applied if this Allow System Theme to Override checkbox is checked when saving graph template

User can click edit button in Template Library to uncheck it now in SR1.


ORG-13167Control Legend border line width on Style toolbar
ORG-13830Fill Pattern supported in Categorical Legend

Fill Pattern checkbox is added in Categorial legend dialog





Add Save Theme as... context menu when click on green lock

To save analysis dialog setting after an analysis is done,

Left click on green lock and choose Save Theme as... context menu.

In the past, user must choose Change Parameters to open the dialog and then save theme as.


Output Integration Area in Worksheet

When choosing Analysis: Mathematics: Integrate..., Integration Result checkbox is added in the dialog to put areas to worksheet.

We used to output area in Results Log only.

ORG-13916Smoothing effect in Preview of Peak AnalyzerSmoothing effect shows in Preview of Peak Analyser when setting Smoothing Window Size is not 0 when finding peaks.
ORG-14018Rank 3D function Models

Choose Input Data Form as XYZ Data and pick 3D functions to rank 3D functions in Rank Models tool



LabTalk function DatePart (datepart$, d [, n])

to return a single part of a date/time, such as year, month, day, hour, minute, etc.

n=0,1, 2, 3, which is meaningful only for weekday and week. (see WeekDay() for reference)

Datepart$Return Value
mcs123435 (there will be computation error)
ns123435200 (there will be computation error)


  1. In Script window, run 
    dd = date(10/30/2007 12:15:32.123449);

v=datepart("yyyy", dd);

2. If column A is date column, in Col(B), use Set Column Values dialog

datepart("do", col(A)) //Get date part only

datepart("to", col(A)) //Get time part only

ORG-13950Improve the performance of Stack Columns toolThe performance has been improved a lot, about 120 times faster than before.




Options to show label or value only in Statistics gadget
In the past, there is no option to show label only, or values only next to gadget. Added in sr1 now.

Add more separate options for Label Box in Quick Fit Gadget

Added option to whether show Date&Time, Weighting info for Label Box in Quick Fit Gadget.

Export and Presentation

ORG-10503Paste Graph as Picutre Only in Word, PPT, etc.

Edit: Copy Graph Picture menu is added.

This allows user to copy an graph page and page it as image in Word/PPT.




For XFunctions, global switch to suppress warning or result type of messages is added

There was switches to suppress message of Error or Info types, but not for Warning and Results types.

cd newpath:="D:\Temp"; // suppose there is a folder "Temp" is disk D, a message will be dumped to Script Window.

We may add switch -sw to suppress warning message and -sr to suppress result message.

cd -sr newpath:="D:\Temp"; //no message will be dumped.


ORG-13574Support more basic OC functions for matrix
  1. Added an extra member function for matrixbase.
BOOL GetSubMatrix( matrixbase & mbTarget, const vector<uint>& vnIndices, BOOL bRow = TRUE  )

Can get some rows/cols from the matrix by indices that not need to be continuous. e.g. row 1,3,4,6.

2. Added an OC function.

BOOL MeshGrid( const vector &vX, const vector &vY, matrix &mX, matrix &mY )

Repeat vectors vX, vY to form two matrices.


ORG-12885Support Skip for the Non-numeric data in a numeric field option in Import Wizard.

Added an option for When Non-numeric is Found in Numeric Field node(For impWiz, on the Data Selection page. For impASC, under Miscellaneous branch.).

When data are generated from the instrument, there are text between data, if Skip Data is selected, will skip the text and only import data.


ORG-13105HPF file importing issuesFixed some issues for importing hpf files.
ORG-13408App for importing Hiearchical data structures such as .Mat and .HDF5 files

Released HDF5 Browser APP.

This app shows the structure in a modeless window from where users can decide which elements to bring into Origin, and it supports .mat(v7x3) and .hdf files.

ORG-13144impfamos fail to extract Created Date from famos v7.0Extract Created Date when import famos files that created from famos v7.0.
ORG-13814Update to latest TDM C DLL

Upgrade tdm/tdms dll to 13.0(NI Diadem 2015), even though the file version seems to be still 2.0.

ORG-14065Improve SPE file import
  1. Added header info for evenly spaced x data.

2. Output x data in xml if exists, and added a notice "Wavelength exists in XML" under Calibration branch.

Graph Object



Support Shapefile map in Object Manager

After import Shapefile maps into Graph, the shapemap would be showed as a branch in Object Manager, each part could be a sub-object in this branch. So once the selection is turned on(right-click an object and select Selectable to turn on or turn off), users can select and modify the map, the selection of whole and partial could be similar to group and plot.


ORG-14061Want rescale to consider graph object attached to layer and scale

Default behavior is not changed, need two steps to apply it.

  1. Before create graph object, run following OC code to enable it.
BOOL OC_EnableRescaleIncludeGraphObjs(BOOL bEnable)
	GrObjCommonProp prop;
	okutil_access_graphobject_default(GROBJ_TN_UNKNOWN, &prop, AGRD_DEFAULT_GET | AGRD_PROPERTY_COMMON);
	BOOL bOldVal = prop.bRescaleInc;
	prop.bRescaleInc = bEnable;
	okutil_access_graphobject_default(GROBJ_TN_UNKNOWN, &prop, AGRD_DEFAULT_SET | AGRD_PROPERTY_COMMON);
	return bOldVal;

2. After create graph object, run Labtalk to enable it on layer.

layer.rescalego = 1;


Image Analysis



Need XF to concatenate multiple image files as a single one

Concatenate multiple image files as a single one, and save it to a specific path.