Origin 2021b Features

 

Graphing

New Graph Types

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-10188

Grouped Marginal Plot

Plot different kinds of marginal plot with grouped data with highly customizable main, top and right panels.

Plot: Statistics: Grouped Marginal … to plot different kinds of marginal plot.

ORG-21047

Network Plot

Network plots show interconnections between a set of entities.

Plot: Categorical: Network

Each entity is represented by a Node and connections between nodes are represented by links. Further customize to node and links are available in Plot Details dialog.

ORG-22222

Durov Plot

An alternative to the Piper Diagram to demonstrate the relationship between various ions within hydrochemical samples

Plot: Specialized: Durov

ORG-22037

Stiff Diagram and Stiff Map

A graphical representation of chemical analyses to illustrate relative ion concentrations for multiple samples.

Plot: Specialized: Stiff and Plot: Specialized: Stiff Map

Special point is supported for these two plots. You can also select special point in Stiff Map and move it.

Leader line is supported between label and point.

ORG-22542

Ribbon and 100% Ribbon Chart

Connect stacked bars or 100% stacked bars by ribbon

Plot: Categorical: Ribbon and Plot: Categorical: 100% Ribbon.

  • Ribbon checkbox on Line tab of Plot Details dialog of stacked column/bar plot or 100% stacked column/bar plot.

  • Ascending/Descending dropdown list after Display column/bar plot by sorted order on Stack tab of Layer level in Plot Details dialog.

  • Horizontal Outside-Vertical Center and Horizontal Outside-Vertical Inside End options in Positions dropdown list on Label tab of Plot Details dialog for stacked column/bar plot and ribbon plot.

ORG-23127

Extended Graph Templates

More than 30 extended graph templates are added in Origin 2021b’s Template Library to extend Origin’s graphing capabilities.

Choose Plot: Template Library and check Extended checkbox to see all of them.

Mouse over to see what it’s for and data required.

  • 3D Bars in Two Planes

  • Alluvial Plot from Summarized Data

  • Anomaly Line Plot & Anomaly Plot

  • Arrow Plot

  • Corner Difference Histogram

  • Ellipse Plot

  • Schoeller Diagram

  • Stacked Lines by Custom Offsets

  • Ternary Phase Diagram

  • XY Error as Rectangles

  • etc.

 

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22773

Improved Template Library Dialog

Redesigned Template Library dialog with more controls

  • Access more than 30 extended graph templates provided by Origin

  • Tooltip with description, column requirement and file location when mousing over template

  • Options to show template under Plot: My Templates: submenuManage mode to show or hide templates in Template Library dialog or delete template

  • Category dropdown list to filter templates in the dialog.

  • List view of template and right click to edit user-defined template

  • Button to go to Graph Samples dialog in Learning Center

ORG-21876

New Plot Highlight mode by just moving cursor

User had to click on a plot to select it to fade away other plots by default. If this mode is turned on, User just need to mouse over a plot to highlight it. No need to click on plot.

  • Turn this on by Page mini toolbar

  • System variable @PSMM

    • 0 - always off

    • 1 - follow page setting

    • 2 - always on

  • When this feature is on, data tooltip will not show when mousing over a plot

ORG-22778

Simplified Export Graph as Image tool

Simpler tool to export active graph to PNG (default), BMP, JPG and TIF

File: Export Graph as Image… to export active graph with less controls.

User can still choose File: Export Graph… to export multiple graphs or customize advanced settings as before.

Context menu of graph title and graph window updated to show this one instead of the old Export Graph… dialog.

ORG-2005



 

Data Slicer in Graph

Control filter conditions in Graph

Use Data Slicer button on graph page level mini toolbar to toggle it and change conditions.

Right click to hide/disable/change filter style. Note: It will change filter in the corresponding column as well.

  • Text filter. It shows as dropdown list for single entry. Right click to change it to Multi Selection to support checking multiple entries.

  • Numeric Filter example

 

ORG-13888

Undo of deleted graph

Ctrl+Z after deleting a graph window

System variable @GU=0 to turn off the feature

ORG-12818

Insert image background

Easier way to add an image background in a graph

Choose Insert: Image from Files… or right click in graph and choose Image from Files. You will be asked if u want to insert the image as layer background.

Use LabTalk command to specify image above or behind the existing background:

layer.bib = 1; //background Image Behind

ORG-22094

Insert Map to Graph

Applicable map(s) show under Insert menu

  • Use Insert: <map name> to insert map into graph with longitude as X and latitude as Y.

  • Map Data.opju provided under Samples\ folder with World, USA, Germany, Japan and China maps provided.

  • Depending on longitude and latitude range, applicable maps show under Insert menu.

ORG-23325

New Merges Graphs to Layout

Graph: Merge Graphs to Layout… menu loads a simpler X-Function dialog to stitch graphs into layout window with page size kept

Stitch multiple graphs into layout with page size kept for graph export or copy it as picture to other applications.

 

  1. You can still access to old tool with labtalk script(g2layout -d)

  2. mg2layout X-Function example:

doc -s;doc -n; for(ii=0;ii<=5;ii++) { run.section(Standard,NewGraph); } mg2layout option:=folder col:=6 row:=1 xgap:=10;

ORG-23326

Copy Coordinates from Data Reader, Screen Reader, Data Tooltip

Copy coordinates and paste column wise to other places

Mouse over data point in graph, data point tooltip shows.

Right click and select Copy Coordinates will copy X, Y, or X, Y, Z coordinates

Such context menu also shows in Data Display and Data Info window when using Data Reader or Screen Reader.

 

ORG-22514

Replace Increment Editor with Build Colors Dialog

When editing color list from Plot Details dialog, use Build Colors dialog instead of Increment Editor.

New Build Colors dialog has more options when creating color list. Therefore we use it by default in places when editing color lists. Such as from Plot Details dialog or from Color Manager dialog.

Use system variable @DICE=0 to roll back to the old Increment Editor.

ORG-23013

New Palette and Color List for Temperature Warming

We add Warming.oth, Warming.pal and BuRdYl.pal Surface.pal to build. Besides, we can merge new system color info into User File Folder on installing

To merge new system color info into UFF:

  1. There is colormanager.ini to UFF

  2. install Origin

ORG-22720

Install Latex when using Insert Equation button

Click the button will help user to install and use Latex app

It required Mathtype or Microsoft’s Equation editor installed on the PC and use it. For user who wants to use Latex, they must install Latex App and use from Apps gallery on the right. In Origin 2021b, clicking Insert Equation toolbar button will give user the option to install Latex to use or continue with old behavior.

ORG-22939

Send Graphs to Powerpoint launches APP

Send Graphs to Powerpoint launches APP instead of the old x-function

Send Graphs to Powerpoint App is preshipped in Origin and it works better than the old X-Function. So Origin 2021b is updated to call the App in all places.

ORG-21186

Improved asterisk bracket

Customize shape, rotation and style of asterisk bracket

  • Drag control point to make round bracket

  • Mini toolbar to adjust line color, thickness and roation

ORG-22820

Support saving plotting scripts into Graph Template

We add the following key into template
page.info.system.plotting.LT$
so that we can add additional scripts in it and then it will create plots like clicking on toolbar.

Example:

  1. make bubble+ color mapped plot

  2. save as template
    --> if we use this template to make plot, we will not get the same bubble+ color mapped plot as step1

  3. run script before saving the template
    page.info.system.plotting.LT$="worksheet -p 248 __TEMPLATE;"

  4. then save as template
    --> we can get the same plot by the template

ORG-23052

Add template info into the Apps XML - Template Saving part

Save Additional information in Graph Template with @RBA=1

  1. set @RBA=1 to show Additional Info for Save Template as and Save Window as dialog

  2. Sll Display Name and Description should save to template and graph window.

  3. save xml file with same name of template to \UFF_TemplateInfo folder

  4. we could save category info to graph and template, and @RBA=1 should load category info by default. When @RBA=0, it could be User Defined by default.

ORG-9915

Support Log Scale for Histogram bin

Add Log10, Ln, Log2 scale type in Plot Detail dialog’s Data tab.

 

ORG-23115

Support overlapping and skewed histogram

Histogram can be overlapped and skewed

  • Column/Bar/Histogram Side by Side inside Layer checkbox on Layers tab of Graph level in Plot Details dialog. Default is selected. Uncheck it will plot multiple column/histogram plots overlapped together, including overlap mode of multiple panels.

  • Skew Coordinates control on Display/Speed tab of layer level in Plot Details

 

  • Extended template Corner Difference Histogram in Template Library

 

ORG-22458

Add By Point tab for distribution curve

Add By Points control for distribution curve colors. If user plot multiple distribution curve with overlapped panel, they could set color index to panel column.

 

ORG-23012

Plot Color based on Positive Negative - Anomaly Plot

Y Value: Plus Minus option is available for line color, symbol color(including symbol edge, symbol fill color) and pattern fill color (when there is fill under curve, and type is Normal and Fill to Base).

With the change, you can make Positive Negative - Anomaly Plot by setting line color/bar’s fill column as By Point: Y Value: Plus-Minus Color.

ORG-23060

Zoom in graph with isomtric or linked axis scale

Press shift key to disable aspect ratio when zooming

In the past, user can only keep aspect ratio to zoom in in graph with isometric or linked axis scale. Now in 2021b, user can press Shift key and zoom in with aspect ratio ignored.

ORG-21852



Browser Graph Improvements

A number of improvements and new features were added to browser graphs

General Improvements:

  • Support slider in Flip Through dialog.

  • Increased speed when selecting "All Columns from Same Sheet" from drop down menu.

  • “Column Index” column is not left aligned in table in control panel.

  • Fixed error with legend when too many entries.

  • Show Column Index number if no column long name and there are many columns

  • Spawn New Graph with Selected Feature (from drop down) allows a new, non-Browser Graph to be created from selected columns in control panel table.

  • Direct Edit Column Labels. Once it’s checked, user can double click to modify it

 

Multi-layer Browser Graph Improvements:

  1. To enable/disable plot show/hide together with other layers, select Synchronize Showing of Dataplots from fly-out button. By default, plot show hide together base on plot index. To show hide by metadata, go to Plot Details page level Layers tab.

  2. To select plot by metadata of other layer, select Show Metadata/Contents for from fly-out button, select layer from fly-out. To show hide plot independently for each layer, please uncheck Synchronize Showing of Dataplots before switch layers

Browser graph for Image and Contour Plot:

Turn on Browser panel by page level mini toolbar. Then flip images on same matrix sheet. User can edit the metadata on left panel

Common Z Scale is used by default for all matrices in the layer.

ORG-23226

Stack by lines by Offset in Column label row (metadata)

If there is numeric value in each Y column label rows such as comments, etc., user can plot stacked line based on offset in such column label rows

In Plot Details dialog, choose Layer node and go to Stack tab.
Set Constant to be wcol(n)[C]-wcol(1)[C] to use the values in each Y data’s comment row minus value of 1st column’s comment row as offset to stack plots.

 

ORG-23180

Contour Plot Contour line and label Improvements

Hotkey to select contour line and better way to positon labels to avoid being cut off by layer boundary.

Hotkey to select contour lines:

  • Ctrl+click to select contour lines of same level

  • Shift+Ctrl+click to select a specific contour line

Support Show Contour mini toolbar when clicking on label.

Better control of labels close to or outside the layer boundary, system variables to control labels outside of frame:

  • @CLO=0; //Prevent label outside layer, set to 1 to revert back to allow outside
    @CLR=0; //Reposition labels on scale change, default 0, not reposition

  • @CLI=15; //Margin in percent of layer width/height, points inside area will be preferred, set to 0 will revert back to old code.
    @CLE=5; //Percent from layer edge, to exclude, same as points outside the layer

  • Important ones are @CLO and @CLN

Add Reposition Labels button on mini toolbar since otherwise label improvements will not apply to existing graphs unless a scale change is triggered via LabTalk such as: x1=x1

ORG-23083

Common Colormap for Multi-layer contour graphs

Common Colormap is supported for Multi-layer contour graphs. Union scale range will be used for all layers.

  1. For multi-layer contour graph, check Common Plot Properties will use union Z scale range.

  2. For multi-layer contour graph, check Common colormap and then rescale colormap in any layer will find union range to cover all Z.

  3. The Common colormap checkbox is added under Layers tab of page level in Plot Details dialog. Select Plot Properties should disable and select this checkbox. Select it without Plot properties will share colormap related settings(scale, fill, line, label) only.

  4. We add Colormap to dropdown of Common Display button in page level MT, under Plot Properties.

 

ORG-23244

Sub-Pie/Column label Sums up to 100

Label Sub-Pie/Column so sub-pie/colum adds up to 100.

On Labels tab, when Percentage is set as Individual, sub-pie or column will adds to 100%.

 

ORG-22742

Better support Add Stats Reference Line Mini Toolbar for trellis plot

Using layer level mini toolbar to add statistics reference line for trellis plot, now the stats reference line in sub-panel means the stats of the corresponding sub-panel

Expression is Mean(plotdata(*-, Y, h, v)) to limit to panel

ORG-23195

Color Axis Title by Plot Color

Add context menu: Text Color Follows Plot for axis title

Add context menu: Text Color Follows Plot for axis title just like the similar context menu for legend

ORG-20838

Rotate and Shear Contour Plot

Change Angle between axes and Start Angle for X Axis

Controls are on Display/Speed tab of Layer level of Plot Details dialog.

Labtalk Support

layer -PGM 1; //enable skew layer.SKEWANGLEB=; //angle between axes layer.SKEWANGLEX=; //beginning X angle layer -PGM 0; //disable skew

 

ORG-23326

Copy Coordinates

Context menu to copy data point coordinates in graph

When mousing over data point, data point tooltip shows. User can right click in the yellow tooltip and choose Copy Coordinates.

This is also supported in Data Info. and Data Display window when using Data Reader, Screen Reader

We don’t support copy text or categtorical X, so instead the corresponding 1, 2, … will be copied.

 

ORG-23182

Keep Layer size when merging graph windows

In Merge Graph windows dialog, Auto is added under Page Setup->Orientation to keep layer size when merging graph windows.

When Orientation=auto, default Gaps is 2, Margins is 5.
Setting may not be good when Orientation is not auto. User will need to adjust gap and margin.

When linked layer is 100% overlapped, Orientation=Auto mode supports Treat Each Source Graph as a Unit.

When source graphs' layer >1, and it is not 100% overlapped linking, It is not supported when Page Setup: Orientation is Auto.

ORG-22738

Put Unit to 2nd Line of Axis Title

Axis title will show in 2 lines, 1st line with long name, 2nd line with units of the plot

On Axis tab of Preferences: Options dialog, add Units in 2nd line option.

 

 

ORG-23278

Contour Finding Max/Min in current domain

We can find min and max in current XY range

make contour plot from a matrix, scale in to a small area, then click contour to open MT to rescale colormap
--> we support fin min and max in current XY range

Note:
It supports only if "Clip Data to Frame" in layer enabled. For now done for matrix data and virtual matrix for Contour plots.

ORG-22834

Batch plot with column offset

Add batch plot with column offset mode for batch plotting

Batch plot with column offset mode means plot columns in source graph with column offset.

Column Offset: specify the offset value from source column to target column
Number of Offsets: specify the number of offsets

for example, source graph is scatter plot with Y column D&E, column offset = +2 means new plot columns are F&G, column offset =-2 means new plot columns are B&C.

if column offset=+2 and number offsets=3 for source graph with B&C means new plot columns are D&E, F&G, H&I

when user has many books with same column structure, and make a graph using columns in different books. if user want to make plot using other column of all these different workbooks, batch plot with column offsets can handle this well.

 

ORG-23362

Copy Graph as Image can use Raster by default rather than Vector

When using Copy Graph as Picture from Edit menu, now can use DIB type raster image by default rather than EMF by setting @CPRO=0 .

vector image can be disabled via:

@CPRO=0

If DIB is too large, performance will suffer or will be unable to paste. You can lower the size of the DIB via:

@DIBSS

System variable . It is the system variable for tweaking the DIB size reduction as a fraction from default (should be > 0 and < 1).

Ctrl+C works to copy page and paste to another applications.

ORG-23243

Multiple Panel by Label support user-defined template

Add an option template to plotting xf: plotbylabel (Multiple Panel by Label) and plot_gboxindexed (Grouped Box Charts - Index Data)

You can select a user-defined template or build-in template via control or LabTalk.

ORG-23483

Support Data Reader hittest on 3D line

Support Data Reader on 3D scatter when only has connect line

When plot 3D scatter, check Connect Symbol and set the symbol size as 0, the Data Reader tool now support

Ease of Use

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22601

Legend mini toolbar improvement

Data Plot Legend Translation Mode button (Legend Translation Mode in 2021) improvement

  • Add Custom entry

  • Better dropdown list

ORG-22623

Active Layer Indicator Mini Toolbar button

New button on graph page level Mini Toolbar triggers the active graph layer indicator.

Note same behavior may be triggered by setting the page.ALI=1 to turn on, page.ALI=0 to turn off.

 

ORG-22993

More layer mini toolbar buttons

Isometric, Transparency, and Hide Others buttons on layer level mini toolbar

  • Isometric button to link axis length to scale

  • Use Transparency slider to adjust layer background transparency. It only shows if background color is set

  • Use Hide Others button to hide other layers in multi-layer graph

 

ORG-16810

Mini toolbar button to add Linear fit curve, confidence band, prediction band, etc.

Mini toolbar button is added when clicking a plot to add linear fit curve, confidence band, prediction band, confidence ellipse (mean), confidence ellipse (prediction)

For Grouped plot, the mini toolbar button shows on Single tab.

ORG-20492

Mini toolbar for 3D Graphs

Mini toolbar for different 3d plots, axis, layer and page

Popup buttons when clicking on plot, axis, layer or page for easier customization.

Note: For group of plots, 1st click will select group plot. The popup shows two tabs. One is Group tab to customize the whole group. The other tab is Single plot to customize that plot only.

  • 3D Scatter Mini Toolbar

  • 3D Bar Mini Toolbar

  • 3D Surface Mini Toolbar

  • 3D Ribbon & Wall Mini Toolbar

  • 3D Error Bar Mini Toolbar

  • 3D Vector Mini Toolbar

  • 3D Axis Mini Toolbar

  • 3D Layer Mini Toolbar

  • 3D Page Mini Toolbar

ORG-23358

Mini toolbar for layout page

Simplified mini toolbar to only show those related to layout page, such as Slide View and Graphs Selectable toggles

 

ORG-23338

Create horizontal vertical line with SHIFT key

Follow major software on perfectly horizontal vertical line with SHIFT

We already supported press shift key when creating or dragging line to create horizontal and vertical lines. But when drawing one end of line object, press SHIFT key and let mouse go didn’t change line to be perfectly horizontal or vertical, as how it works in Powerpoint, etc. We improved it so it works as well in Origin.

More support press Ctrl+Shift to enter the mode to move the point along the original line.

ORG-23217

Zoom In/Out in Data Reader Mode

Support Zoom In/Out in Data Reader mode

Hotkey Ctrl+ Mouse Wheel to Zoom In/Out while in Data Reader Mode, this provides an easier way to data reader in a small/large region.

ORG-23139

Font Size in Toolbar

Keep the same font size between in-place editing mode and text box if highlight all and set font size

When highlight all and set text font size, both in-place editing mode and text box show the same font size, before Origin2021b, in-place editing mode updated but if select the text box, the font size in Tool Toolbar keeps its original value.

ORG-22511

Easy way to go to plot’s corresponding column

Right click a plot and choose Go to Book context menu

Right click a plot and choose Go to Book context menu. The worksheet will be activated with corresponding column highlighted.

ORG-20823

Better way to go to source data sheet from special point

Right click special point and choose Go to Book context menu

Right click a special point in graph and choose Go to Book context menu. the Origin will scroll to corresponding row of yhe corresponding highlighted column

ORG-23450

Matrix Contour Plot Ease of Use improvement

Check matrix units to set isometric, increase speed mode

  • Check matrix XY units and set isometric

  • Change speed mode from 100 points to 700 points

Graph Customization

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22797

Transparency for Fill Only

Support transparency for fill only in plot and graphic object

For scatter, bar, fill area, box, etc. graph, Transparency for Fill Only checkbox is added on Pattern tab so border will not be transparent.

Same checkbox is added for graphic object.

ORG-23300

More Line Filling options

Fill shapes with orientation/reverse orientation and subset support to split filling

  • This is useful for filling with plot by shapefile etc.

 

For better handling filling when selecting fill shapes by orientation or reverse orientation, you can enable subsets. As long as the "Index" column in shp file is not a single value, the subset can separate the filling.

 

ORG-22865

Support square and flat drop line cap

By default cap of dropline shows as circle. Set @lcpd=1 or 2 to make it square or flat.

System variable @lcpd added to control it

  • -1 follow plot

  • 0 round

  • 1 square

  • 2 flat

 

ORG-23203

Add Option to hide profile anchor text label

Add None to Text Location drop-down list.

When None is selected, the text label will be hidden.

ORG-21516

Customize single point in Box chart

Press Ctrl key and double click a single point in box chart to customize it individually

To customize a single point in box chart

  • Press Ctrl key and click on a single point to select it and then use mini toolbar to customize it.

  • Press Ctrl key and double click to customize it in Plot Details dialog.

Please note that we don’t support customizing a single outlier.

ORG-21585

Mask for grouped box chart

Support mask both source data and output data for grouped box chart

For box plot created by Grouped box chart, it mask in graph will mask data in both source sheet and output sheet.

ORG-23061

Draw connection lines behind the box in Box Chart

Support draw connection line behind box or bars

There was no option in the past so connection lines always drew on top of the box.

On Connection lines tab, Draw Line Behind option is added.

ORG-21891

Merge tick label table cells even if there is gap between subgroup

Ignore Gap between subgroup if tick table label is set to merge between subgroups

When Merge Labels is Between Subgroups/Subsets, select Gap between Subgroup/subset, Origin would not break table cell if such cell is suppose to merge.

ORG-21603

Common Plot Properties should consider plot index as well

We support plot properties by index, by name.

We can set it in PD dialog. Or when any checkbox in common display is selected, we show a Common Display button in page level in mini toolbar. Click this button to open a small modeless dialog to show all options in common display group.

ORG-22941

Font Size for Tick Label Table Title

Separate font size control for tick label table title

In Axis dialog, Tick Label: Title tab, Table Title branch, add Font Size option under Color, default value could be Auto. Auto means following font size of 1st table row tick label.

 

ORG-23389

Support Tick Label Line Spacing

For wrapped tick labels, line spacing control is added

In Axis dialog, Tick Label: Title tab, Wrap Text branch, Line Spacing dropdown list is added. Default value is Auto.

 

ORG-22662

Group Plots- Subgroup Properties by Column Label Label Row

Specify plot properties such as shape, color, etc. by column label rows so column with same label will show same shape, color, etc.

On Group tab, specify Increment to be Long name, Units, Parameters, , Book or Sheet name so the shape, color etc. will be based on column label rows.

E.g. in the following example Symbol shape is based on column long name, so all CC data uses same shape. Symbol color is based on column comments so SEG1 data are black, SEG 2 data are red, while SEG 4 data are blue.

 

ORG-21285

Add Scaling Factor for Line Width

Add Scaling Factor control if plot’s line width is indexed to another column.

When plot’s line width is indexed to another column, user can set scaling factor. This is useful if the line width value in the column was very small or very big

 

ORG-22998

ORG-23000

Surface or Contour plot XY Mapping Improvements

Support more XY mapping for matrix data plot to matrix on other matrix sheet or worksheet columns

  • For 3D Surface plot, open PD, on Surface tab, check "Parametric Surface" checkbox, we change the "More..." in the combo to open a dataset browser, which would list both worksheet cols and matrix objects.

  • For contour plot, on Contouring Info tab, we support mapping XY coordinates from matrix or worksheet cols.

ORG-22487

Arrows for Droplines

Add Arrow Shape, Arrow Width, Arrow Length option under Drop to for drop line of each direction, in Plot Detail dialog’s drop line tab.

 

ORG-23397

Show Color Scale in Image Plot

Image plot should be plotted with color scale if it’s not plotted by image matrix.

In the past user need to manually click Color scale to add it.

 

ORG-22911

Support Fixing column width in 3D bars

Use Ignore Missing Data for Column/Bar Width to consider a point to gridding or not.

We use Ignore Missing Data for Column/Bar Width option in page Display tab to consider a point to gridding or not. When this option is unchecked, we will consider a point to gridding if X&Y is not missing.

By default, 3d graph will select this option.

Analysis

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-20837

Duplicate Operation

Duplicate the selected operation and change parameters to easily do comparison

This provides an easier way to compare two analysis. E.g. after doing an analysis, green lock shows. Click the green lock and choose Duplicate this operation. Then click Change Parameter on one of the lock to change some settings.

ORG-23262

Show Pause Auto Update/Recalculations toolbar button

It shows next to Recalculation button on Standard toolbar

For large project, it may be slow to do auto recalculation everytime input is changed. User can use this button to pause the auto update. Click analysis lock to manually recalculate.

You will not see the toolbar button if you upgraded from previous version. Choose View: Toolbars… menu. Go to Button Groups tab. Choose AutoUpdate Group. Drag the Pause button to any existing toolbar location.

Or on Toolbars tab, choose Reinitialize button. But it will initialize all your toolbar and docked window layout, including Project Explorer, Apps, Object Manager, etc.

 

ORG-23284

Uncheck Results Log Output checkbox

Analysis result not output to result log by default

The default used to be checked so integration output to results log as well. But this will increase project file size if user does a lot of integration. So it’s turned off by default in Origin 2021b.

ORG-23219

Improve X-function pa to open PA in modal style

run pa in a loop with smode:=2 allows adjusting the analysis settings for each dataset.

Ex.

string srcbook$=%H; for(int ii=2; ii<=4; ii++) { pa iy:=[srcbook$]1!(1,$(ii)) smode:=2 theme:=baseline; }

Fitting

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22581

Incorporate Python into Fitting Function Builder

Support defined fitting function using Python in Fitting Function Builder and Fitting Function Organizer

Fitting Function Builder

Fitting Function Organizer

ORG-22872

Support Python-based fitting functions in Peak Analyzer

Fitting Functions based on Python code can be used in Peak Analyzer.

It will work if the fitting function is Python Vectorial and all the other peak functions, as well as baseline function used, are built-in, i.e. DLL-based; Python Vectorial fitting functions cannot be mixed with LabTalk or Origin C functions when fitting peaks.

ORG-22357

Support Y Maximum in Peak Properties Output

Output the Y maximum (with baseline) for each found peak

Added a node "Y Maximum" under Result branch - Configure Report -> Peak Properties, Fit Peaks page.

ORG-22218

Easier way to open Fitting Function Library App in NLFit dialog

Fitting Function Library App icon added to Fitting Function Search.

In previous version, you may miss the information of open the Fitting Function Library App to get more fitting functions since we don’t show it unless user typed some keywords and find nothing.

In Origin 2021b, this icon always shows in search control. Click it will launch the app.

 

ORG-23492

Improve the performance when fitting with Integral function

The performance of fitting with Integral function has been imporved.

Defined a function with integration, fitting with it is much slower when compare with Python.

This has been improved in Origin 2021b, the performance should be a little better than Python now.

ORG-23514

More labtalk work on implicit fitting

Add new X-functions for fitting via Labtalk: nlbeginor, nlbegino.

  1. Introduce X-Function nlbeginor for implicit fit with multiple variable function

  2. Improve X-Function nlbegino to work with functions in all category

  3. Fix X-Function nlbegino’s issue about skip Error data

nlbeginor example:

string fn$=system.path.program$ + "Samples\Matrix Conversion and Gridding\XYZ Regular.dat";

newbook;

impasc fname:=fn$;

nlbeginor irng:=(1,2,3) func:=PlaneMod;

nlfit;

nlend 1 1;

Batch Processing

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-3948

Progress Bars Improvements

improve progress bar to make it more reasonable and easy to use

  1. Cancel button and ESC key work fine for progress bar now

  2. Progress bar will be shown on topmost of all windows

  3. progress bar will not vanish during complex script execution

  4. Variable Break.thread is added to turn off/on this feature

ORG-22164

Support multiple instances for batch PA processing

Origin support multiple instances when do batch PA since Origin2021b,the speed is significant improved.

Use Background Instance(s) to Process checkbox is added to paMultiY dialog.General speaking,the maximum numbers of instances is decided by numbers of physical cores and logical processors. you can access it by @cores and @logprocs.

The speed of improving:

Gadgets

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-20761

Gadget output to clipboard

Option to output gadget result to clipboard so user can paste to other applications, etc.

Checkbox Output to Clipboard is added in Gadget. With it checked, when user does New Output, etc., result will also be put to clipboard.

ORG-20829

Arbitrary shape ROI box in Cluster gadget

Cluster gadgets supports using Draw arbitrary shaped ROI box. Hotkey C to create category.

ORG-22370

Vertical Cursor: Show Legend column as identifier

Add Legend context menu to turn on legend info. in vertical cursor

If all plot’s long name is the same, it’s hard to tell which is which in vertical cursor dialog and output. Legend is added since usually user will set legend to be unique.

Data Handling

Worksheet

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22875 S2

New Book Dialog

Redesign of New Book dialog for workbook and matrix

Menu changes

Redesign of New Book dialog

  • Category column to filter templates

  • List view with tooltip

  • Built-in Extended templates

  • Show in menu checkbox to make template show from File: New: Workbook or Matrix submenu.

  • Right click to set as default template when clicking New book or New Project button

 

ORG-22633

Enhancements to Worksheet Calculations

Several new functions have been added in this version to further facilitate worksheet calculations:

  • idx(): Return row indices of records that meet specified condition

idx(B==100) // Returns indices of values in B that equal 100

idx(B>=20 && C<=50) // Returns indices of records with B column bigger than 20 and C column smaller than 50

idx(left(A,5)$ == "Chris") // Returns indices of values in A where first 5 letters are "Chris"

idx(diff(B)>1) // Returns indices in B where the difference between one value and the next value is greater than 1

idx(diff(B)>1)[0] // returns the last row index that fits diff(B)>1 condition

  • ReportCell(): Access values from report sheets

  • Sum(): Improved to calculate row wise Mean, StdDev, Min, Max, N, Median. E.g. sum(A:F)_sd

  • More statistics functions: lcl, ucl, mad, geomean, geosd, harmean

lcl(vd[, level]) // lower confidence level

ucl(vd[, level]) // upper confidence level

Mad(vd) // Mean Absolute Deviation

Geomean(vd) // Geometric Mean

Geosd(vd) // Geometric SD 6Harmean(vd) // Harmonic Mean

  • 3rd argument added for more statistics quantities

    1 (default, same as current): mean
    2 sd, 3 se, 4 min, 5 max, 6 median, 7 sum, 8 RMS
    E.g. Enter formula ave(A, 10, 2) in Column B’s F(x) cell to calculate standard deviation of every 10 data in column A.

  • Confidence() – a 4th argument “dist” is added to provide another algorithm.
    dist=1 is default, same as current result,
    dist=2 uses Student's t distribution, same as Excel's CONFIDENCE.T function

  • Cell formula can now use string variable and cell address.

[book1]1!A1 // Cell A1 from book1

[A1$]1!A2 // Cell A2 from a different bookname stored in cell A1

[A1$]1!B[0] // Last cell of col(B) in book name stored in A1

  • Support index 0 for last column in Sum( ), e.g. Sum(1!B:0) to calculation rowwise sum from B to last column in 1st sheet.

ORG-22971

Extract Units from Long Name

If units are included in long name label row by (), [], and separators, user can use this tool to extract units.

Click Long Name, mini toolbar button is added to extract units from Long name.

 

ORG-22676

Clear Rows Above selection

Mini toolbar is added to clear data above the selected cell, range or row

  • Clear Rows Above button

  • Corresponding Labtalk command:

work -sou db

ORG-21830

More context menu for data filter icon

Paste Filter, Load Filter, Save Filter added

  • There was Copy Filter context menu. But no paste filter, though Ctrl+V works. So we added Paste Filter to be clear.

  • For filter in numeric column, Load and Save as are added

 

ORG-22942

Extend Day limitation for HH in Time Format

Extend the limitation from 240 to 548 which is 1.5 year now.

Set column format as Time, and display as HH:mm for example, time value “5760:00“ will be displayed as “00:00” in previous builds, now the limitation has been extended, and user can show time data up to “13151:xx“.

ORG-22914

Autofill with sheet name in cell formula

Support increasing sheet number when auto fill by introduce multiple equal sign with string concatenate.

Example,

See following book,

  • See the Comment cell for the Cell formula of D1, drag down of D1 cell to auto fill, formula will enumerate like “==C2$+"!B[1]"“, which will refer to the B1 cell in the 2nd sheet.

  • Drag down of F1 cell to auto fill, formula will enumerate like “==E2$+"!B[1]"“, which will refer to the B1 cell in the Sheet2.

  • Drag down of G1 cell to auto fill, formula will enumerate like “==”B”+C2$“, which will refer to the B2 cell.

ORG-22606

More flexible cell formula notation

Cell formula can now use string variable and cell address.

For following notation is now allowed:

ORG-22912

Appending Worksheet Improvements

Use Book long name as dataset identifier and option to Append to End of Each Column

  • In Append Worksheet, when choose Book Name as Dataset Identifier, Long Name will be used instead now if available.

  • When appending worksheets by rows while each column length is different, in the past they are appended to same row. Use this new option can avoid unwanted missing values in result sheet

ORG-21917

Worksheet convert to XYZ supports selected region

Add a new option Convert Range, and user can convert selected region only by choosing the Specified Ranges item.

Also, improve the trim missing value feature, so the whole XYZ point will be removed once there is missing value in any of them, X or Y or Z.

 

ORG-15392

Allow XYZ Gridding to Trim Data for Non-Rectangular Data

A new option No Extrapolation outside Boundary (default unchecked) is added to trim data for non-rectangular data.

If data in worksheet is not shaped like a rectangle (e.g. circular), choose this option can allow XYZ gridding to not create data outside of the area defined by the XYZ data in worksheet.

The checkbox will not be shown when gridding method is Regular or Sparse.

ORG-21593

Support copy multiple formula labels in one time

Copy multiple cells in F(x) label row is supported now.

Select multiple F(x) cells and CtrL+C to copy and then and select F(x) cell of a destination worksheet and Ctr+V to paste.

ORG-22492

Better Print Default for Worksheet

Turn on grid lines in printout by default. Add Print Setup button in Print Preview dialog

In the past, the grid lines between rows and columns didn’t not shown in printout by default. It’s turned on now.

User can turn it off on Print/Export tab of Worksheet Properties dialog.

Print Setup button is added in Print Preview dialog

ORG-22857

Export Worksheet Data into PE structure

Support <PE Path> in Export Worksheet

User can specify <Project Folder>, <PE Path> to export data to OPJU file or its subfolder.

ORG-22615

Add Dynamic Ends context menu in GUI

When specify input range for some tools, a new context menu Dynamic Ends is added to fill range with 0 notation, which means dynamic end and allows keeping the operation when input column is removed or added.

ORG-23229

Support Rename sheet in Navigate Worksheet dialog

Double click corresponding name/comment, etc. to rename.

Double click name or comments to rename them in Navigate Worksheet dialog.

ORG-22868

Freeze beginning columns or rows

Freeze beginning columns or rows so they always show

Only supported with Labtalk

wks.frozen$=B; //freeze columns A to B

wks.frozen$=3; //freeze rows 1:3

wks.frozen$="B 3"; //freeze columns A:B, rows 1:3

wks.frozen$=""; //unfreeze

ORG-23369

Improve the Performance of Worksheet Rendering with Many Hidden Columns

Import the performance when worksheet contains many hidden columns.

When worksheet has many hidden columns, trying to render worksheet may cause Origin keeps busy and hard to work. Now this has improved in Origin 2021b, render worksheet, select or de-select worksheet cell should be very fast now.

ORG-23398

Make Comments edit box resizable in the Name and Comments dialog

New option is introduced and implemented in the Comments edit box of Name and Comments dialog.

 

ORG-23391

Data Filter Improvements for Date handling

Improve the usage for Data Filter when handling Date data.

  • Use simple edit box for the Value option in Simple Date Filter dialog instead of the Date Time Picker. (Can set @DP = 1 if you prefer to use the picker control.)

  • Use the 1st non-missing value instead of current time as the initial value for the Value edit box in Simple Date Filter dialog.

  • For Date value with time info but display only with date part, improve the equal condition handling to only compare the date part.

  • Use simple text for the Filter label. For example, >=14 or <30

  • When use Simple Date Filter, the date value shows in Filter label string will follow the column display always.

Matrix

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22875 S3

File: New: Matrix: menu change and New Book dialog

Construct menu or new matrix based on template

  • Menu change to list user-defined template, construct matrix, or view existing templates

  • File: New: Matrix: Browse… opens the New Book dialog which supports both workbook and matrix book. . Right click to set as default matrix when clicking New Matrix button on Standard toolbar.

 

ORG-234 S2

Palette support for Matrix Image view

Set palette for all matrix object by style toolbar

  • Use Palette button on Style toolbar to set palette.

  • Use x-function palApply to set it

string fname$ = system.path.program$ + "Palettes\green.pal";
palApply fname:=fname$;

  • system variable @map: 0 (default) - apply the palette to all matrices, 1 - apply paleet to active matrix only

ORG-22953

Matrix Stack Basic Statistics

Statistics on all matrices in sheet

Analysis: Descriptive Statistics… menu

 

ORG-23119

Subtract Matrices

Subtract matrices in sheet by another matrix

Analysis: Mathematics: Subtract…

The sizes of matrices must be the same.

  • Subtract active matrix by another matrix

  • Subtract all matrices on one sheet by 1st or active matrix on another sheet

  • Subtract all matrices on one sheet by corresponding matrices on another sheet

Labtalk script example
msubtract -r 2 ims:=[myocyte1]myocyte1 im:=[myocyte2]myocyte2!1;

ORG-23138

Pixel Extraction in Matrix with Image View

Pixel extraction from a point or reference column

To extract pixel from a point, use screen reader to pick the point and then open Matrix: Pixel Extration dialog.

To extract pixels from several poitns, put coordinates in columns and then in the dialog specify the coordinates from columns.

 

ORG-23055

Linear Fit of Matrix Stack

linear fit each pixel across all matrices in sheet

Analysis: Linear Fit of Matrix Stack…

 

ORG-23330

Simple Math

Perform element-wise arithmetic on two matrices

Analysis: Mathematics: Simple Math… for element-wise arithmetic on two matrices

 

ORG-23123

Matrix Resize

Resize all matrices in sheet

Matrix: Resize… to expand, shrink, interpolate and pad matrix.

 

ORG-22842

Set Matrix Label

Specify matrix labels by a worksheet column

The matrices shows 14, 26, 38, 50 as name.

Run mlabelbywcol -d in Script window and specify col(A) in Book1 as reference column for long name.

Click OK, corresponding row will be used as long name of matrix

ORG-23147

Generate XY Grids

Generate XY Grid matrices of a matrix.

Matrix: Generate Grid… to create 2 grid matrices with x and y coordinates from input matrix.

 

ORG-22915

Multiple ROIs in Matrix

Support multiple ROIs in matrix

To create more ROIs, user must double click existing ROI to rename it other than ROI.

 

ORG-23077

Copy, paste, import and export ROI positions

Copy & paste ROI positions and save and load ROI position for future use

  • Copy current ROI’s position and paste to new matrix

  • Copy current ROI’s position and paste it as text or to worksheet as XY data

  • Export multi-ROI position as an *.roi file and Import into new matrix in the future

 

ORG-23252

Create ROIs from XY Data in Worksheet

Create ROI objects from XY data, including XY data from shapefile

  • Context menus to import, export, create ROI and clear all ROIs.

  • Right click on ROI then select Create ROI from XY menu to open tools. Then specific the XY coordinate, index and ROI names to create multiple ROI objects.

ORG-22861

Customize ROI and Position

ROI color, pattern and fill customization and ROI Position dialog for rectangle ROI

Click a ROI and use Style toolbar to customize its style.

Double click rectangle ROI. This isn’t supported for ROI of other shapes.

 

ORG-22745

Create new matrix and extract XYZ data from ROI

Create matrix sheet copy of data or extract XYZ data inside ROI

Add a ROI (region of interest in matrix) and right click to Create New or Extract XYZ Data inside ROI.

Auto update is supported so that if ROI is modified or moved to a new positon, the created new sheet will update accordingly.

  • Create New:

  • Extract as XYZ

 

ORG-22840

Intensity Profile

Get Intensity profile of active ROI or all ROIs on all matrices in sheet

Right click ROI and choose Intensity Profile…

  • Get profile intensity from active ROI

  • Get profile intensity from all ROIs on matrix

  • Auto update is supported so that if ROI is modified or moved to a new position, the result will update accordingly.

 

ORG-23020

Tooltip of matrix object

Long Name and Comment on the tooltip of matrix

Mouse over the image thumbnail or D icon when slider mode is on, it should pop up tooltip with Long Name and Comment in it

 

ORG-22841

Missing Value improvements in Matrix

Set missing value color in image view, and specify a value to be treated as missing value in matrix

  1. User define missing value by Labtalk: wks.col.missing =

  2. User define missing value color by Labtalk: wks.nancolor =

  3. Add button in matrix mini toolbar to set missing value color

  4. Allow matrix sheet show or hide selector by Labtalk: wks.ImgSel = 1/0

  5. If missing value color is customized in matrix and plot imagemage from it, same color should be used for missing value.

ORG-23095

Using Slider to go to corresponding matrix

Useful for sheet with many matrices.

Make it easier for user to use the image slider on top of matrix to go to corresponding matrix.

ORG-234

Palette support for Matrix Image view

Set palette for all matrix object by style toolbar

Introduce a system variable @MAP.

@MAP=0; //Apply palette to all matrix object

@MAP=1; //Apply palette to the active matrix object

ORG-23103

Image Plot Palette uses settings in Image View of Matrix

The image plot should use the same colormap, zscale and missing value color as the matrix image mode

Besides, there’re 2 Labtalk command improvement:

  1. For matrix, “wks.col=” will be pointed to the active matrix object.

  2. Add “wks.col.cmap.palette$=“ to set palette for matrix. For example: “wks.col.cmap.palette$=Fire.pal;“

ORG-23186

Matrix dimension expands when copying data into it

System variable @MPE is added. Default is 1 to auto expand matrix dimension when pasting data if there is only 1 matrix object.

System variable @MPE

0 – don’t expand matrix dimention

1 – default. if only 1 matrix object in matrix sheet, auto resize matrix dimension when pasting data.

2 – always resize matrix when pasting data.

ORG-23437

Export Image Stack as Video

Export Image stack in matrix as GIF, TIFF and AVI video.

Choose File: Export: Video…

 

Import

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22765

Unlock Imported Data

Unlock Imported Data context menu is added to unlock imported data.

By default after import data by Data connector, it’s locked so you can’t modify it.

Use the context menu to unlock it first.

Reimport data will lock it again.

Set system variable @IPDC = 0 to always unlock data when using data connector.

 

ORG-22818

Partial Import notation for TDMS data.

Partial Import for TDMS Connector

For TDMS Connector:

wks.dc.sel$=TDMS/test[20:70|1-1]

[20:70|1-1]-->import row 20 to 70, read 1 and skip 1. can also use syntax: [20 30 40 50], which means import row 20, 30, 40, 50.

ORG-22862

Improved NetCDF Connector for Climate Data

Detect and automatically convert climate-based data in NetCDF files

  • Set matrix’s XY’s Label and mapping to lon and lat

  • Set Z’s unit

  • Convert data from its internal storage value in NetCDF into proper representation and data type e.g. temperature.

  • Missing values in NetCDF correctly handled

ORG-22926

Import Options for NetCDF Data

Options include partial import, data averaging, longitude shift, latitude flip, data conversion, subregions

  • Partial Import

  • Data Averaging

  • Longtitude Shift and Latitude Flip

  • Data Conversion

  • Subregion

During NetCDF import, click the Options button to open a dialog to customize the import

After Import click the connector icon in matrix and choose Options to adjust.

 

  • Specify a date range to import. For example, From: 1900-01-01, To: 2019-12-01, Read: 1, Then Skip: 1 will import 1st data in each month from 1900 to 2017

  • Supports across years or consecutive averaging with specified Interval.

  • Longitude Shift: shift from 0-360 degree view to -180-180 degree view

  • Latitude Flip: flip data that is visually upside down upon import.

    The characters y (year), m (month), and q (quarter of a year) are supported. An integer multiplier can be put in front of the character.

  • Formula: Calculations are supported on imported data via the Formula (v) edit box where v represents each individual data point. E.g.: (v*9/5)+32

  • Specify subregion to import by longitude and latitude

ORG-21870

NetCDF Connector Time, offset, scale conversion

NetCDF Connector support data conversion after import.

  1. Use attribute add_offset and scale_factor to normalize the data, can use @NCRD=1 to turn off conversion.

  2. Auto recognize attribute _FillValue, and set the value as missing value for Matrixobject.

  3. Auto detect time value and set it to time format, can also use system variable @ICDH to add hours matrix object long name and Import Options dialog.

ORG-23442

NetCDf Add and Connect Sheet need to use previous settings

Add and connect sheet(s) in Data Navigator will use last settings for NetCDF Connector.

Netcdf can only import one sheet at a time. But on left panel, user can choose other sheets to import. It will follow same import options as previously imported sheet.

ORG-23068

Speed improvement of compressed NetCDF file import

Improve the speed of decompressing data and show pregress on status bar

It took a long time to import compressed NetCDF file.

The speed is improved and also progress shows on status bar.

ORG-22984

NetCDF matrix object stack share same Z scale

By defaults, all matrix objects from a NetCDF file share the same Z scale meaning that, when going from one matrix to the next, the colormap will be consistent.

  1. Use the same Z range for all Matrixobjects after import.

  2. For matrix stats and Create New, will transfer sheet labels and comments.

  3. Show XY Mapping of the active Matrixsheet in status bar.

  4. Add From, To, Read and Skip info to Matrixsheet label when partial import.

ORG-23334

Issues about averaging irregular NetCDF file

Improved the handling of files with irregular dates, e.g. some dates missing, etc.

For the NetCDF files that have irregular dates, added a system variable @NCTT=10,which represents a tolerance when searching for the next date; it is a percentage of the average time increment in the time variable of the NetCDF file. By default it is 10%.

ORG-23107

NetCDF Export

Export NetCDf data from matrix stack via File: Export: NetCDF…

When exporting NetCDF data, option to set “Base Year for Sampling Across Years” when averaging has been conducting across years (e.g. daily average across years). Necessary to generate proper time dimension data.

 

ORG-23108

decompress netCDF

Add X-Function nccopy to decompress NetCDF file.

X-Function nccopy decompressed a compressed NetCDF file.

ORG-21862

Navigator Add Variable to Active Sheet or New Sheet

3D Array should add into new Matrix. Worksheet Data Connector Browser can add 3D node

  1. For Workbook, add Import into New Matrixbook menu item for 3D and 4D Array(Right click the variable in Data Navigator).

  2. For Matrixbook, add Import into New Workbook menu item for 1D and 2D data(Right click the variable in Data Navigator).

  3. When the active window is Workbook, select 3D or 4D array in Data Connector Browser, will show up dialog for user to choose how to import(New Matrixbook, Embedded Matrixbook or Worksheet columns)

ORG-21535

Excel Connector to Support Partial Import

Support Partial Import for Excel Connector.

Partial Import node added in Excel Connector.

 

ORG-22363

Web DC Issues

When connect to web, wks.DC.Path$ will set to the temp absolute file path.

Absolute path of Connector Data Source, both for local files and for web data as long as the local cache has not expired or been cleared (see @CFDT and delete -web).

ORG-22181

Support Matlab date time variable in newer version file

Matlab Connector supports Matlab date time variable in newer version file(mat 7.3).

Matlab Connector supports Matlab date time variable in newer version file(mat 7.3).

ORG-22717

Data Connector for .RAW file format from Thermo Fisher Scientific

Added MSRawFile Connector to support importing .RAW file format from Thermo Fisher Scientific.

Added MSRawFile Connector to support importing .RAW file format from Thermo Fisher Scientific.

ORG-22920

Origin File connector to support cell formula

Support interpreting cell formula in Origin File connector.

Note: Some LabTalk function will not be supported yet.

ORG-22886

Various Ease of Use issues

Auto delete object named as autodel after import.

Auto delete object named as autodel after import.

ORG-22488

Issue with User Defined, Python-based Import Filters

Improved handling for locating *.PY file associated with import filters. Support multiple sheets for Import Filter Connector.

  1. When no path specified in Source File, first check OIF location, then use UFF.

  2. Import Filter Data Connector could not re-import or import multiple data files using a user defined, Python-based import filter.-->This has been fixed.

  3. Support multiple sheets for Import Filter Connector.

ORG-22242

MATLAB DC: Improve import speed for large files

Added a system variable @MLAM=64 for MATLAB Connector to specify maximum number of elements in various arrays to show in Data Connector Browser and Data Navigator.

Added a system variable @MLAM=64 for MATLAB Connector to specify maximum number of elements in various arrays to show in Data Connector Browser and Data Navigator.

ORG-20952

Menu to show Views in table list

Add a new menu item under View menu to show Views in Table list.

 

ORG-23270

DC Icon Menu to Reset Post Import Actions

Added a new menu item Reset Post Import Actions to Data Connector menu.

After importing data using data connector, user may have deleted columns, etc. If importing again, those deleted columns will not be imported.

But if user click Reset Post Import Actions and then import again, those deleted columns will reappear.

We had Labtalk script to reset it but user may not know. So added to menu.

ORG-23277

Shapefile Connector

Added Shapefile Connector to import Shapefile data.

Data: Connect to File: Shapefile menu to import shp file

Drag and drop shp file into Origin is also supported.

ORG-23380

CSV Connector Improvements

Improvements includes sparkline, column plot designation, book long name, file with unicode fullwidth code for characters

  1. Support Add Sparklines for CSV Connector and Excel Connector. Can set @IMPS=0 to turn it off.

  2. Specify column plot designation such as XYZ, etc. when importing multiple CSV files.

  3. CSV Connector will rename book longname. when import into one book, then only rename book Long Name with the first file name.

  4. Import file that uses the unicode fullwidth codes for characters. Example: instead of code "0x30" for char zero, it uses "0xef 0xbc 0x90". System variable  @IPC=0 to disable it.

  5. Support set column designations for Connect Multiple Files.

ORG-23537

ORG-23555

Introduced SQLite database connection

SQLite import and export is now available in Origin. Users can import SQLite files using the Database Connector, and easily export/update worksheets as tables in a SQLite database file.

  1. Data: Connect to Database… menu to connect to a SQLite database file. SQLite ODBC driver will be list in the ODBC Driver list.

  2. File: Export: SQLite to export worksheet to SQLite database file. If export to an existing SQLite file, worksheet will be pushed in as a new table.

  3. Update Database context menu. When connect to SQLite database and query string is simple like “Select * from table“, then click the Database Connector icon, the “Update Database” context menu will be available, and user can update current worksheet data to the SQLite database file.

ORG-20042

Origin Connector To Support Books

Origin Connector supports connecting to OGW and OGWU file.

 

 

Programming

Code Builder

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22934

Option locations to find strings in Code Builder

Find strings in other locations other than current document

Option to find string in All Open Documents, Origin C Source Folder and User Files Folder When you choose Edit: Find in Files or Ctrl+F to find strings

 

ORG-22824

WBook Improvements in originpro

Added plot_cloneable(self, template) method to originpro WSheet class.

 

Add plot_cloneable(self, template) method to originpro WSheet class.

Parameters:
template (str): Cloneable graph template name. If no folder specified, first looks in UFF, then EXE folder.

ORG-22804

Add unembed_graph() method to originpro WSheet class

Added unembed_sheet(self, sheet) function to originpro WBook class.

 

Added unembed_sheet(self, sheet) function to originpro WBook class.

Parameters:
sheet (int or str): sheet index, or sheet name

ORG-22762

originpro, OriginExt and OrglabExt Support Python 3.9.x and Docs Link Update

Update originpro, OriginExt and OrglabExt to support Python 3.9.x.

Update Python version to 3.9.x for internal Python and external Python.

ORG-22760

originpro improvements 2021b

Add several methods to originpro WSheet class and originpro MSheet class.

Add the following functions to originpro WSheet class

Add following functions to originpro MSheet class

Use following python code to get more details.

ORG-15316

Help Mechanism for Origin C GETN

New Origin C macro for when there is no Help for dialog

Added new macro GETN_NO_HELP like

 

ORG-11825

Code Builder CB and Python Console Issues

Improve mechanism to reset Python environment

Improve run -pyr to reset the Origin Python environment.

ORG-21406

Data Connector Navigator Framework

Added menu item Copy to Context Menu to copy a row in Data Navigator.

Feature, for example, copied a value of an attribute for an imported NetCDF file.

ORG-22838

originpro graphing related issues and improvements

Improved add_plot() method to support data range string. Added group() method to group plots. Support Plot class to allow setting colormap and shapelist.

1.Support adding plot by data range string.

2.Added group()function to Graphlayer class to group plots.

3.Support setting color list and shape list for group plots.

4.Support setting color and symbol increment for grout plot.

ORG-23184

Smart Hint for User Defined function

 Define a specification above the function declaration

E.g.

the text wrapped by /$$$ $$$/ will be shown in the smart hint panel, when the notation is absent, it will show the prototype only, in above case, it is

 

ORG-22982

Tree node support full precision double value

Introduce a system variable @R2SZ to control the precision’s threshold, default is 1.0E-307.

Origin Tree node double value used to not support full precision. We now introduced a system variable @R2SZ to control the threshold of precision of double values stored in treenodes. Default is 1.0E-307.

Labtalk

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-23039

Statistics function improvements

 

 

Add more statistics functions e.g. lcl, ucl, mad, geomean, geosd, harmean and improve ave and confidence function

They are under Functions: Statistics menu in Set Column Values dialog

 

 

Improved functions

ave() – 3rd argument added for more statistics quantities

1 (default, same as current): mean
2 sd, 3 se, 4 min, 5 max, 6 median, 7 sum, 8 RMS
E.g. Enter formula ave(A, 10, 2) in Column B’s F(x) cell to calculate standard deviation of every 10 data in column A.

Confidence() – a 4th argument “dist” is added to provide another algorithm.
dist=1 is default, same as current result,
dist=2 uses Student's t distribution, same as Excel's CONFIDENCE.T function

New functions

 

ORG-23290

idx(condition expression) function

Function returns row index of records that meet the condition.

 

It’s under Functions: Lookup & Reference menu in Set Column Values dialogExamples:

idx(B==100) // Returns indices of values in B that equal 100

idx(B>=20 && B<=50) // Returns indices of values in B are between 20 and 50

idx(left(A,5)$ == "Chris") // Returns indices of values in A where first 5 letters are "Chris"

idx(diff(B)>1) // Returns indices in B where the difference between one value and the next value is greater than 1

ORG-23395

ReportCell() Function tp Access Cells in Report Table

Add a new function ReportCell() to accesses hierarchical report table cell and returns the content of the cell.

Function added under Lookup & Reference to access report table cell. Using this new function will be much easier to access result cell values in Set Column Values and Labtalk Script.

Syntax

ReportCell(string sBook$, string sSheet$, string sTable$, string sRowRef$, string sColRef$)

  • Active book will be used if sBook$ not specified.

Example

In report sheet, active Parameters table, select the Value cell of y0, then the status bar will show the link address like “cell://Parameters.y0.Value”. Now you can call the ReportCell function like following to access the cell.

Also, you can use it in Set Values formula.

ORG-18381

Row wise statistics in column formula

Extend Sum() function to calculate for more row wise statistics, include Mean, StdDev, Min, Max, N, Median.

We already support sum(A:D) to calculate rowwise sum from column A to D, but for other statistics, user needs to get it via Statistics on Rows in the past.

The following are added in Origin 2021b.

sum(A:D)_mean
sum(A:D)_sd
sum(A:D)_min
sum(A:D)_max
sum(A:D)_n
sum(A:D)_median

 

ORG-22615

Improvements in using 0 as last index

Support using 0 to refer to last column and 0! to refer to last sheet in range notation. layer -d 0 to delete last sheet

Using 0 for last Index for column and sheet

  • range r=0 //last column of active sheet

  • range r=1!0 //last column of 1st sheet,

  • range rsheet = 0! //last sheet

  • 0!wcol(0)[0]= or 0!col(0)[0]=//last cell in last column of last sheet

  • layer -d 0 //Delete last sheet in active book or last layer in active graph

ORG-23390

support index 0 for last column in Sum(B:0)

Use this to easily calculate row-wise sum from specified column to last column

 

ORG-22752

Hotkey Alt+F5 to execute custom routine button

Press Alt+F5 to execute Custom Routine

In the past, user needed to click Custom Routine toolbar button to execute it. Now can click Alt+F5 for it.

ORG-23031

Support set column formula by LabTalk column property directly

Improve LabTalk column property for formula to be writable.

Following properties are improved,

ORG-22853

More Constants Built into LabTalk

Mechanism to allow user to define their onw LabTalk constants

User can define LabTalk constant in the const.cnf file and put it under User Files Folder, then when Origin starts, the file will be executed, and the defined constant can be used.

ORG-22729

More support on Tree in Labtalk

A new method ToString is added for the LT Tree variable.

Example,

ORG-22836

LabTalk to add Gap from Top for placing buttons for Matrix Book

Add a new property wks.Gap to wks object, then user can use it to add gap from top for Matrix Book and placing buttons.

ORG-23088

Labtalk output to file code cleanup

Cleanup code for Type command to type text to a file.

Example,

Now all will be dumped to the text file.

ORG-23099

Labtalk Wks property to find the maximum column number

Add wks.maxCols to scan all columns and find the largest column index that has value, similar to wks.maxRows

ORG-23097

Labtalk Color() function supports more special mapping options

Add more prototype to Color() function to set mapping option for layer.plot.color.

Syntax

Usage

ORG-23097

LabTalk Modifier(nIndex) function to get worksheet column modifier

Add a new function Modifier(nIndex) for easily setting index column for plot symbol size, color, etc,. Also, a new properties layer.plot.symbol.interior to set symbol shape.

Usage

ORG-23402

A new property added to layer.plot to get dataset name of plot

A new property layer.plot.name$ is added.

Example:

ORG-23221

Labtalk output to support Unicode

Labtalk output to support Unicode

type "\u2554====\u2557";

ORG-23234

Improve LT Labtalk ini Set and Get string method

Methods of ini support getting ans setting string values

  • If ini file name is not specified, use Origin.ini in User Files Folder as default.

  • Allowed quoted string for argument.

Example

ORG-22718

Speed improvements when creating a workbook with many sheets

Using labtalk to create workbook with many sheets were slow.

or

In Origin 2021, using above code to create 365 sheet workbook, it took 16 sec and 14 sec respectively, while in Origin 2021b, it took 10 secs.

 

 

ORG-23145

Legend support Layer name, Group name substitution notation

Add new options to access Layer name, Group name of plot for substitution notation.

Syntax

ORG-22998

LT access to set the XY map data for contour plot

Add LT access to set/get the XY map data for contour plot and 3D surface plot.

ORG-23382

LT labtalk string variable dump to skip size lim

Skip the size limitation when print string variable to Script Window.

Suppose a LabTalk string variable str$ contains more than 8191 characters, then run “str$ =;“ in Script Window can dumps whole text now, and “len(str$)=” can also get correct value.

 

Python

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22537

Support Intellisense in Python Console

Support Intellisense in Python Console.

Autocomplete hint when typing code in Connectivity: Python Console and Set Column Values dialog.

Use system variable @NPYC=0 to turn it off. Default is 1

ORG-23031

Python originpro to support setting column formula

New method set_formula introduced.

Examples,

ORG-22837

Support Missing Values for other data types in Python

Improve PyOrigin and OriginExt to handle custom missing value setting by wks.col.missing.

For originpro packeage,

  • Improve to_np2d, to_np3d and from_np to handle non-double type missing value.

  • Added get_missing_value in MSheet.

  • Added mv argument to from_np.

ORG-22869

Support for Python Script in Buttons

Python can be used in button script now.

To use Python, script must begin either with ''', “““, or the import` keyword

ORG-23210

WSheet ,WBook, MBook ,MSheet ,GPage comments property and Worksheet “User” Tree Access

Added comments property to Page and Layerclasses. Added access to WSheet “User” tree. See Details for code examples.

Examples:

ORG-23210

Support specifying DC to use for WSheet from_file method

Third argument (dctype) added to WSheet from_file method allows code to specify exactly which DC to use for import by specifying the DC name. If argument not specified, method will either us CSV or Excel DC.

Example uses the ‘Import Filter’ DC to import the CSV file. User has previously created a custom Import Filter for CSV files. Doing it this way ensures the users import filter is used and not the CSV DC.

 

ORG-23210

Support managing project explorer

Add method such as folder navigate, folder move, etc.

New methods are added:

ORG-23210

Support Folder object

Added path and pages function to Folder class

Simple example:

ORG-23210

Support creating plot with error bars

method add_plot() is improved to support error bars

ORG-23239

Better support for importing into multiple sheets for Python-based Import Filter

New method in originpro package, get_import_sheet(), has been added.

Blog post coming soon explaining how and why to use this new method. But briefly, something like:

ORG-23240

Python Tree Access

  1. support converting Origin user tree to Python dictionary.

  2. support reading data from report sheet.

  1. Added lt_tree_to_dict() method and usertree, userprops properties.

  2. report_table() method to WSheet class.

ORG-23387

Curve Fit with Python

  1. Python function to do linear curve fit and non-linear curve fit

  2. It supports nonlinear surface fit by improve set_data(). For example: set_data(wks, 0, 1, z=2)

  3. It supports nonlinear matrix fit by introduce set_mdata(). For example: set_mdata(ma,1)

  4. It supports nonlinear multiple variables fit by introduce: set_range(). For example: set_range('[Book1]1!(1,2,3)')

  5. It also supports both Implicit fit and explicit fit by adding argument method for NLFit class. For example: op.NLFit('Ellipse', 'odr')

Linear curve fit

Nonlinear curve fit

ORG-23788

Release Origin After Python Script Finished

  1. Added op.attach() function to originpro in Origin 2021b Sr2

  2. Fixed the issue that exit python control can not release Origin.

op.attach(): connect to running Origin instance.

exit(): exit python control from CMD, and then release Origin from Python, without closing Origin.

OriginC

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-22975

Want substitution on preset name for XF output variable

Improve X-Function's option string N to support the substitution for output name in operation tools, see [OutputLongName] section in Origin.ini.

Following notations are supported,

See a sample usage in mstackstats XF.

ORG-22835

X-Function support before install script

Add a new option Before Install Script to X-Function Builder.

When new or modify X-Function in X-Function Builder, a new edit box Before Install Script is provided. The script will be run before install the X-Function. This is usually useful for checking required Python package if the X-Function needs.

ORG-22982

Tree node support full precision double value

Introduce a system variable @R2SZ to control the precision’s threshold, default is 1.0E-307.

 

ORG-23148

Origin C function to pad a matrix

matrixbase::Padding

 

ORG-23415

Add member functions for GraphLayer

New methods added to GrpahLayer class to set Z Scale. New parameter added to AddPlot function for supporting matrix duplication

  1. Add Z Scale member to GraphLayer

  2. Add one more parameter dwCntrl to AddPlot function to support duplicate matrix.

int AddPlot( MatrixObject & matObj, int nPlotID = IDM_PLOT_MATRIX_IMAGE, uint dwCntrl = GAP_USE_TEMPLATE)

Miscellaneous

Setting

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-21279

Save Separator and Line Spacing Settings to Project

File: Properties… menu to save separator and Line Spacing settings and then save into project file.

File: Properties… menu to save Separator and Line Spacing settings and then save into project file.

Separator and Line Spacing settings locate at Numeric Format tab and Text Fonts tab in preference :Options dialog

Labtalk Access:

ORG-16870

AutoSave Improvement

Origin 2021b will keep a new "Last-AutoSave.opju"

In Origin earlier versions, the autosaved opju was deleted in the following two cases:

  1. after successful save.

  2. after project is closed.

Origin 2021b changed to make a copy of the autosaved opju before it is deleted on case 2(closing project). The file has a fixed name "Last-AutoSave.opju". 

 

For any project in the AutoSave, Backup, Unsaved folders, Origin 2021b will

  1. Skip Autosave,

  2. Skip saving Unsaved

  3. No adding to Most Recent File List

ORG-23214

Change default copy page ratio for graphs to 100%

Change default value of copy page ratio for graphs to 100%

Select Preferences: Options, click Page tab, Ratio default value under Copy Page Settings is changed to 100.

ORG-15619 S2

Provide font control for origin various outputs

add font control in Origin.ini for message log and output window

Origin2021b provide control to set origin outputs font in origin.ini which is located at User Files Folder. current origin only support set font for Message Log and Output window in code builder

1.Origin.ini

2.Labtalk Access(Ready-Only)

ORG-22774

Hint on locked windows in Learning Edition

Explain why window is locked when mousing over the window in Project Explorer.

Learning Edition has window limitation. If a user open project with more than 12 windows, some windows will be locked.

Mousing over the locked window, hint will be given.

ORG-22442

Allow Mouse Scroll Wheel to Control the Scroll Bar

Mouse Scroll Wheel can scroll the whole scroll bar in vertical.

When put mouse pointer on the Origin workspace, mouse wheel can scroll down and up the whole scroll bar in vertical.

ORG-23003

Support popup for custom toolbar button

Create popup toolbar button in User-defined button group

Step to create popup for custom toolbar button:

New a ogs file like custom.ogs with below code, in Customize dialog, select one button and click Settings… button, in Button Settings dialog, set File Name as custom.ogs, set Main as Section Name, set :2 in LabTalk Variable to toogle.

ORG-23313

Make Start Menu more obvious

  1. Update Start Menu button with new icon

  2. Add Help: Activate Start Menu

Smart hint will show 5 times unless user started searching with it

Improved the icon.

System variable @dsb= 0 (default), 1: hide bottom button and menu, 2: hide menu only

Restart Origin.

ORG-23285

Customization on Apps gallery

Hide Add Apps Icon and build-in tabs

New registry system variable @AGO is added for hiding Add Apps Icon(only for user’s tabs) and build-in tabs(All tab and Connectors tab).

note:These controlling bits can be combined to produce cumulative effects. for example, @AGO=6 is combination of @AGO=2 and @AGO=4

 

ORG-23339

Menu and toolbar changes related to import and connector

Updated toolbar buttons and menus to encourage user to use Data connectors, etc.

  • Hide Data: Import From File: NI TDMS menu. Use Data: Connect From File: NI TDMS instead.

  • Hide File: New: Excel and File: Open Excel by default. System variable for Excel related menu

  • Import ASCII and Import Excel toolbar buttons use corresponding Data connectors by default. System variable to control it

 

Installation and Licensing

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-23245

App and Check for Updates require registration

App Center and Check for Updates require the software to be registered

Network Concurrent and Dongle packages will now need to register the product before having access to the App Center and Check for Updates features. The Register dialog is opened automatically if run a un-registered product.

ORG-22417

Pre-set registry system variables

Preset registry system variables in config.ini under User Files Folder

 

New section named SysVar in config.ini file which can look like the following to pre-set registry based system variable AWC