Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Data Handling

Column/Cell Value Formula

...

JIRA

SUMMARY

Description

DETAILS

ORG-22399

Mini toolbar for label rows in worksheet

Easier way to turn on rich text , insert user-parameter, hide label row, move up and down, etc.

When right click a label row, mini toolbar shows for quick access of some userful operations, such as turn on rich text so user can type superscript, subscript, greek letters, etc.

ORG-21112

Data Display Format buttons on Column Mini toolbar

Use mini toolbar to customize date and time display or numeric digits

Add new mini toolbars for easily customize the number of digits, date, and time format.

ORG-21113

Change Column (Cell) Format on Pasting Date Time Data

Check if copied data is date and time and paste accordingly

  • Copy Date/Time data from Excel or other places and paste it into Origin worksheet cells. Column/cell will be auto formatted as Date/Time.

  • Insert info variable and select date from file info list, the cell gets correctly formatted as date

ORG-21701

Better Handling of Time Data that Wrap Around Midnight

Mini toolbar buttons is added to handle date/time data what wrap around midnight

User sometimes has time data that missing day info. When plotting with such data as X range, the plot may jumps back to beginning of axis at midnight.
Now Origin provides a new mini toolbar to deal with such problem. When click it, Origin will check and detect, then ask if can go ahead to add days to the data.


Also, for axis tick label, DDD info will not be added anymore for time HH format. E.g, 25:00 will be shown as 01:00 instead.

ORG-21720

Redo Worksheet Transpose Tool

There were many issues when using transposed data as input of further analysis.

In the past, output of wtranspose maybe problematic when directly use as anlaysis input. Now, this should not be a problem anymore.

ORG-22137

Support Color Column in Worksheet

New column type is added to support HTML color code. User can save the colors in the column as a color list or palette for other uses. User can use it to color plots.

In Column Properties dialog, set column format as Color.

  • support HTML color code. Cell background will be colored accordingly.

  • Mini toolbar to set color

  • Mini toolbar of column to save Color List or palette (system variable @MPS is the threshold to save as palette. E.g. default is 20. So if there are more than 20 colors in the column, it will be saved as palette. If less than 20 colors, it will be saved as color list.)

  • Set column as Color to show calculated color based on R, G and B values.

  • Add Display Color Value checkbox under Format in column property dialog if column format is Color.

  • Add Create Color List from Column… in Custom dropdown list under Color fly-out single tab.

ORG-22146

Allow setting HTML color code in colors popup.

Entering HTML color code to create color

In Color Popup, add HTML edit box allowing copying/pasting HTML color code.

ORG-22376

Support mask column based on Outlier by IQR

Support mask column based on Outlier by IQR

Select Column: Mask Cells by Condition… menu.

Outliers by IQR is added in Condition dropdown

ORG-21957

Alt+Enter for new line

We used to use Ctrl+Enter for new line. Changed to Alt+Enter to be consistent with other softwares

Use Alt+Enter for new line instead of old Ctrl+Enter.

System variable @FCA =1 to roll back to old way.

This also applies to adding mult-line text in graph and script window

ORG-22435

Missing Value NANUM for numeric column which is not double(8)

When data type isn’t double(8), we used to show 0 as missing values. Now user can specify what value to show as missing value --

When column format is set to Numeric and Data Type is set to other options e.g. Real(4) instead of the default Double(8), user can assign a custom value as missing value, such as:
wks.col1.missing = -99; //-99 will show as missing value --
wks.col2.missing = 0; //0 will show as missing value --

wks.col1.missing = 0/0 //turn the feature off

This property is saved with the column.

ORG-22469

Aligning on decimal character in column

Numbers are usally right aligned. Now you can align numbers by decimal points in a column

In Column Properties dialog, set Numeric Custom Display as e.g. .3?

ORG-22465

Paste space separated text into one column in worksheet

By default, space separated text will be pasted into multiple columns. A context menu Paste (Keep Spaces) is added to pasted text into one column

It will paste space separated text in one column

ORG-22574

Easier way to select highlighted columns in worksheet in Worksheet Query dialog

Newly added checkbox Check all Selected Columns Extract to quickly select highlighted columns only

By default when opening Worksheet Query dialog. All columns are checked so when extracting data, all columns will be extracted.

A new context menu Check all Selected Columns Extract is added. Check it, only columns highlighted in worksheet will be checked and extracted.

ORG-20123

paste report sheet table will set 1st row to long name

origin will set 1st row as long name when paste report sheet table since Origin2021, it will provide better format style look, also can easily change table style will mini toolbar.

Image Added

Graphing

Colors

JIRA

SUMMARY

Description

DETAILS

ORG-21898

New Color Manager

A new color manager tool to load palette from website or file from other software, create and edit color list/palettes, and customize which color list/palettes to show in color GUIs

Tools: Color Manager… (hotkey Ctrl+Shift+O) to manage color lists and palettes

  • Import color list or palettes from web.

  • Import color list or palettes from downloaded color list or palette files.

  • Create your own color list/palette

  • Control which color list or palette will show from GUI, such as color related control on toolbars and dialogs.

  • Default Plot Colors button for quick access to System Color Lists tab of Theme Organizer.

  • More… context menu from color list and palette related toolbars to open Color Manager.

  • Improved Build Colors dialog for ordering colors, interpolate and save color list/palette.

  • System variable @ecd to decide what dialog opens to edit palette. 0 - Build Color dialog, 1 - Palette Editor dialog, 2 - Simplified Palette Editor.

ORG-21970

Drag and drop Palette files into Origin to install them

Drag and drop color palette files of other softwares to install it in Origin

The installed palette will be accessible from Palette dropdown list.

  • If the file is MS PAL, it’s copied to User Files Folder\Palettes\

  1. if not, the file is converted to pal file and put to User Files Folder\Palettes\

  2. If the filename already existed, the file name will enumerate.

Following palette files are supported.

  • Office Color Table (.soc)

  • Adobe Color (.aco)

  • Adobe Color Table (.act)

  • Adobe Swatch Exchange (.ase)

  • JASC PaintShopPro (.pal)

ORG-21560

Image Plot Can't Set Color Beyond Min/Max

Customize color below min and above max in Image plot

Make image plot from random data in matrix.
==> Under Colormap tab in PD, we can change color for any level but not for level <min and >max.

Implemented in Origin2021.

ORG-21629

More obvious way to define custom colors

In custom color pop up add a plus mark in the cell to add custom color

In custom color pop up add a plus mark in the cell which can add custom color

ORG-22306

Color Scale Mini Toolbar Issues Reported by Beta Tester

Update colormap graph when changing color scale on mini toolbar, delete color scale title by Delete key

  • We can update colormap for the plot which is related to selected color scale by mini toolbar.

  • We can delete color scale title with delete key.

ORG-21927

Improve color list popup GUI

It is dynamic now, can be expand to show more items.

Change color list and palette list popup to be dynamic.

...

JIRA

SUMMARY

Description

DETAILS

APPS-918

Create taylor diagram for facilitating the comparative assessment of different models.

Taylor Diagram app is capable of creating taylor diagram for facilitating the comparative assessment of different models.

  • Download Taylor Diagram app from the page and install the app.

  • Activate a worksheet with reference data selected, then click the app icon in the Apps gallery window, then a dialog will be brought up, and then choose test data, and set correlation coefficient range, and click OK button to create Taylor diagram.

 

APPS-931

Create 3D polar strain map plot.

3D Polar Strain Map app can be used to create 3D polar strain map graph.

Download 3D Polar Strain Map app from the page and install the app.

This app requires four input columns: time, angle, depth and strain. And groups for time, angle and depth must be balanced.

Operation:

  1. Select columns for Time, Angle, Depth, and Strain.

  2. In the Settings branch, set Numbers of Depths to Plot, adjust Minimum and Maximum in Strain Range in Colormap, and set Transparency.

  3. Click OK button. A 3D polar graph will be created.

ORG-21934

Unicode Symbol for scatter plot

Enter unicode number to show unicode symbols in scatter plots

Enter Unicode for symbol in Plot Details dialog

ORG-21293

Lollipop Plot

Lollipop Plot added to connect corresponding rows vertically or horizontally

  • Plot → Basic 2D → Lollipop Plot

  • In Plot Details → Drop lines, tab, Drop to Next Data Plot

  • The line color can be customize to change depending if it’s above or below baseline.

ORG-21325, ORG-21345, ORG-21204

Browser Graph -> Stack

Stacked Browser to plot stacked graphs based on grouping information in column label rows with interactive buttons on the left manipulate plots

  • Plot: Browser: Stack… menu to plot stack graph grouped by metadata, e.g. Long name, units, etc.

  • Select plots on browser panel will select plots with same name in each layer

ORG-22072

Flip through sets of plots

In Browser Graph user can now defined subset and flipping through

  • Add Filp Through dialog to display a set of n plots at a time.

ORG-16883

Specialized - > Compass Plot, Polar Vector

Two graph types added: Polar Vector and Compass Plot.

vector plot in polar coordinates

Plot: Specialized: Polar vector, Compass Plot.

ORG-22000

Chord Diagram

Plot: Categorical: Chord Diagram

Plot: Categorical: Chord Diagram, Chord Diagram with Ratio Layout after Alluvial, in Plot menu: Categorical tab.

ORG-22114

Improvements on Row-wise Plot

Row-wise Plot can now follow categorical order and the data can be filtered

  • Plot Order control to follow categorical order in source data

  • Get Filter information from source data

ORG-22262

Sankey Node Order follow Data Order

Nodes in Sankey plot can now follow Data Order

We add Order by Data checkbox in Node tab, put it in Position group, on the right of alignment option. Select it should just use node order in data to decide node order.
1. when there is no Name column (input is 2 or 3 columns), we use link order in first 2 column to decide node order
2. when there is Name column(input is 4 columns), we use data order in 4th column, If this name column is set as categorical, then we could use categorical order.

ORG-21621

Easier layer reordering for Double-Y graph

the layers in a Double-Y graph can be reordered without breaking linking.

In older vserions layer reordering usually broke the linking but starting with 2021, the layers in a Double-Y graph can be reordered without breaking linking.

...

JIRA

SUMMARY

Description

DETAILS

ORG-20778

Excel like pi product function

Add product Labtalk function which returns the product of a dataset

double product(vector vd)

E.g. column A is filled with 2, 3, 4, 5

In B1 cell, enter = product(A) will get 120, which is 2*3*4*5.

ORG-21992

Excel like LET function

Add LET Labtalk function which pairs values and names and calculates the expression using the names

Easier to write complex formulas, by making it possible to declare and assign values to variables inside a formula

LET(name1, exp1, [name2…], [exp2…], calculation)

exp1 is resolved and assigned to name1, exp2 is resolved and assigned to name2, then assign names to calculation for result. 

LET(x, 1, x+1) -> 2

LET(sum, total(A), n, count(A), sum/n)

ORG-13898

Command Window improvement

Command Window now supports Zoom in/out and auto code complete

support mouse wheel zoom, more support on auto complete

ORG-21926

Introduce new LabTalk command to update pending locks

Improve Labtalk command run -p to update pending locks for active book/sheet.

Code Block
run -p aub;//active book
run -p auw;//active sheet
run -p aubd;//active book and all its descendants
run -p auwd;//active sheet and all its descendants

ORG-21587

LabTalk Access to Dash Definition at Plot Level

Labtalk command set supports setting line dash property.

Syntax: set name -ldf value

Code Block
set %c -ldf  "5 20 10";

ORG-19233

GetN supports dataset elements

GetN Box now supports to assign dataset values.

E.g.

dataset values;
values.setsize(3);
getn (Value 1) values[1] (Value 2) values[2] (Value 3) values[3];

ORG-22214

LT Labtalk control of Box Plots

Add more Labtalk controls to customize Box Plot properties such as statistical lines, labels, etc

layer.plot1.boxchart.line=1,2,3; //show lines in box chart, 1=median,2=mean or 3 both

layer.plot1.boxchart.label=1,2,3;//show label of line, 1=median,2=mean or 3 both

layer.plot.label.font=1; //label font

layer.plot1.label.fsize=20; //label font size

layer.plot1.label.color=2; //label color based on color list, e.g. 1=black, 2=red, etc.

ORG-18101

Sort columns by Long name, etc.

Added Labtalk worksheet method SortCols() to sort columns by Long names

wks.SortCols(L,d);//sort LongName decending

ORG-21874

ORG-22418

ORG-22525

ORG-22838

ORG-22127

Labtalk access to more plot properties

Add more Labtalk controls to customize plot properties such as symbol overlaps, label properties, plot color, etc

Code Block
layer.plot.label.Spec$="0";//to show label at end of plot
layer.plot.label.Spec$="";//turn off show label at specific indices checkbox
layer.plot.label.fsize
layer.plot.label.color
layer.plot.label.form$
layer.plot.symbol.offset = 1; // Symbol Overlapped Arrangement: 0=disable, 1=horizontal, 2=vertical
layer.plot.symbol.oct = 1; // Symbol Overlapped offset center type
layer.plot.contlines = 1; // Enable Contours for surface plot
layer.plot.contmat //specify the index of matrix use for contour line, 0 = self
set/get %c -ccl name //set/get the matrix use for contour line
layer.plot.colorlist$color
layer.plot.symbol.size
layer.colorlist$ //support individual and group plot
layer.plot.shapelist$ //support individual and group plot, only write access
layer.plot.symbol.size
layer.plot.symbol.kind

ORG-22475

GetNBox focus issue

Increase default GetNBox entry area length

Changed the default value of @ETG to 1700.

ORG-22313

Skip none-accessible 22127

LT labtalk Color() function supports specify mapping column

Improve Color() function to set plot color by column

Syntax: m=colormap, n=indexing, r=RGB

Code Block
layer.plot1.color = color(1, m);//colormap next column to Y
layer.plot1.color = color(-1, n);//index color, one column to the left of Y

ORG-22475

GetNBox focus issue

Increase default GetNBox entry focus time

Changed the default value of @ETG to 1700.

ORG-22313

Skip none-accessible objects in doc looping

doc -e G will skip none-accessible objects in looping graph objects.

When use doc -e G command to loop for all labels and other named objects in the active graph layer, the objects that not accessible from LabTalk will be skipped now.

ORG-21997

Plot Hide Show events from Labtalk

Add a new event “Plot Hide Show” in Object Properties

Open Object Properties dialog, in Programming tab, a new event is added in the Script Run After drop-down list. Choose it and then script will be execution when plot hide/show.

Python

Introduce originpro module. get/set between pandas DataFrame and Origin worksheet.

Introduce originpro module. Support passing data between pandas DataFrame and Origin worksheet.

Under menu Connectivity,add new menu Open Untitled.py, Open Default Python Functions, Open examples.py, Open, Python Packages. etc

OC supports calling Python functions. By default the py file should be placed in the same folder as the c/cpp or XF file, and the name of the py file has to be origin.py.
To change that, you need to

  1. to change working directory

JIRA

SUMMARY

Description

DETAILS

ORG-22062, ORG-21995, ORG-22031, ORG-22106, ORG-22107, ORG-22063, ORG-22556

We have introduced a new originpro package for easy access to Origin from Python. This package works on a higher level, providing easy access to workbooks, matrices and graphs with very little code. The package also provides higher level access to data frames and numpy arrays.

Several sample Origin projects have been added under \Samples\Python sub folder. These samples have Python code attached as .py files in the project.

Documentation including detailed reference for the orignipro package.

https://www.originlab.com/python/doc/originpro/annotated.html

Code Block
import pandas as pd
import originpro as op
wks=op.find_wsheet()
df = wks.to_df()

wks = op.new_wsheet( 'Test Category' )
wks.from_df( df )

ORG-20980

Update preshipped Python version

Upgrade preshipped Python to 3.8.3

upgrade Python to 3.8.3

ORG-21988, ORG-11812

menu access access to Python

  1. Under menu Connectivity add new menu Open Untitled.py, Open Default Python Functions, Open examples.py, Open, Python Packages.

  2. In Code Builder, add menu Python Packages under Tools.

  3. Start Debug button on toolbar (F5) to run Python file.

ORG-22488

Import Wizard with Python support

Support data file import with Python in Import Wizard. Import filter now support Python code

ORG-22203

Fitting functions using Python

Support using Python function as fitting function

Define fitting function using Python and fit in Origin

ORG-22024

Wrap text in Python Console

Support auto wrapping text in Python Console

Allow auto wrapping for dir command’s output in Python Console.

ORG-22046

Add new function for Python Object to call LabTalk with return value

Add new method GetNumProp, GetStrProp, SetNumProp, SetStrProp, DoMethod for Python Object to call LabTalk with return value

GetNumProp, GetStrProp, SetNumProp, SetStrProp, DoMethod are added for PyOrigin and OriginExt.

ORG-22075

Remove Python 2 from installation

Stop supporting Python 2.

Stop supporting Python 2.

ORG-21993

Support Python PIP command

Support installing Python packages with PIP command in LabTalk

All pip commands are supported in LabTalk now.

For example, you can use following command to install numpy package directly.

Code Block
pip install numpy;

ORG-22049

Install Packages from Python Packages menu

Support installing Packages from Python Packages menu

Add Python Packages tool to install/uninstall internal python packages.

In Code Builder, select Tools: Python Packages…

In main workspace, select Connectivity: Python Packages…

ORG-22070

OC to call Python functions

Support calling Python functions from Origin C code

Code Block
Python.OCWD$;//OC Working Directory

2. to change file name(independent of 1)

Code Block
Python.OCWF$;//OC Working Filename

ORG-21996

Labtalk LT to call python functions

Support calling Python functions from Labtalk script

LT supports calling Python functions. By default the py file should be placed in the User Files Folder with name labtalk.py. Call function with syntax

Code Block
aa = py.myfunc(x,y)

We can also specify the file name, for example, signal_utils.py, then we can call the function by

Code Block
aa = py.signal_utils.myfunc(x,y)

Also, you can change the default working directory and default file name by following command,

Code Block
Python.LTWD$;//LT Working Directory
Python.LTWF$;//LT Working Filename

To call Python function in the attached py file in the project, use the py.@ syntax.

Code Block
aa = py.@myfunc(x,y) //if there is a single attached py file
aa = py.@filename.myfunc(x,y) //if there are multiple attached py files, use filename

By default, when calling Python function in LabTalk and Column Formula, function argument is assumed to be list of float, and this can be controlled by system variable @PYFV (Default is 3).

Also, you can specify the argument and return type with function annotations.

Code Block
def f2(a:float, b=1)->float:
    return a+b

An alternative to specify argument and return type is to use docstring, which is more important when function is used in column formula.

Code Block
f = float
F = list of float
s = str
S = list of str
i = int

ORG-22239

Show Python print immediately

Python print() function now output result immediately when executed

Added a system variable @PYO to control if show Python print immediately for Embedded Python.

Code Block
@PYO=1(default):immediate output
@PYO=0:output at the end

For example:

Code Block
import PyOrigin as po
print('before')
po.LT_execute('typ hi')
print('after')

if @PYO=1, will output as

Code Block
before
hi
after

if @PYO=0, will output as

Code Block
hi
before
after

ORG-22158

Support running UTF-8 py file in Origin Python

Support running UTF-8 py file in Origin Python

LT run function allowANSI .py file, for example: run -pyf test.py
  • Python file created in Code Builder is set as UTF-8 by default.

  • ORG-22042

    Add some basic functions under MatricLayer class in OriginExt and PyOrigin

    Add some basic functions under MatricLayer class in OriginExt and PyOrigin: SetShape(), SetNumMats(), GetNumMats()

    Added three function in OriginExt and PyOrigin under MatricLayer class:

    SetShape(self, nRows, nCols, bKeepData=FALSE)

    SetNumMats(self, nMats)

    GetNumMats(self)

    ORG-22012

    Origin COM Improvements 2021

    Added following function in COM, OriginExt and PyOrigin: OPY_CLASS(Page)* , LoadPage(const string& strPathName, int options = CREATE_VISIBLE_SAME);

    Added following function in COM, OriginExt and PyOrigin.

    OPY_CLASS(Page)* LoadPage(const string& strPathName, int options = CREATE_VISIBLE_SAME);

    ORG-21990

    Improve Using Origin from Outside Python

    Added python package OrglabExt for COM calling

    Added python package OrglabExt for COM calling

    ORG-22282

    Prevent Script Window GUI for Python

    if use script window to run Python, it shows message box that recommend to use Python Console instead.

    Show message box that recommend to use Python Console instead.

    ORG-22300

    Set column value with Python code

    Added Python Function tab in Set Column Value dialog to define Python functions which can be called to set column values.

    Add Python Function tab in Set Column Value dialog

    Image Removed

    ORG-22525

    Python control of plot colormap and color list

    Added Python control of plot colormap, color list, symbol type and size.

    Control over plot colormap and color list.

    Code Block
    plot.colormap="candy.oth"
    plot.colormap="beach.pal"

    For example:

    Code Block
    import originpro as op
    
    wks = op.find_sheet()
    graph = op.new_graph(template='scatter')
    layer = graph[0]
    plot = layer.add_plot(wks, coly=1, colx=0)
    layer.rescale()
    plot.color = op.color_col(1,'n')
    plot.colormap="fire"

    Also, control the plot symbol type and size

    Code Block
    plot.symbol_kind
    plot.symbol_size

    ORG-22518

    Better handling of Date and Time columns

    Added methods to originpro WSheet class to set Date and Time format columns:

    Added methods to originpro WSheet class to set Date and Time format columns:

    Code Block
    wks.as_date(col=0, format='yyyy-mm-dd')
    wks.as_time(col=0, format='HH:mm:ss')

    Where format is Origin date time format specifiers.

    ORG-22049

    Python Packages tool

    Easy way to install Python Packages in Origin from Python Packages menu.

    Python Packages dialog to install, upgrade and uninstall packages.

    Menus to open the dialog:

    1. In Origin main window, choose Conectivity: Python Packages…

    2. In Code Builder, choose Tools: Python Packages…

    We recommend restart Origin after the installation.

    ORG-22430

    originpro package update-able independently

    originpro package can now be updated independent of origin releases using Python Packages Tool in Code Builder’s Tools menu.

    originpro package can now be updated independent of origin releases using Python Packages Tool

    ORG-22048

    Support Intellisense for Python

    Support Intellisense for Python coding in Code Builder.

    Implemented features:

    1. Auto complete when typing in editor, or when invoked via menu/hotkey. (Ctrl+L)

    2. Go to definition on symbol under cursor. (F11, or context menu)

    3. Find references on symbol under cursor. (Alt+Shift+F, or context menu)

    4. Docstrings shown as a popup window when hover on a symbol.

    5. Signature help window will be shown after typing '(' for function hint, prototype, parameters will be shown in this window

    6. Show symbols in current file (Alt+M, or main menu)

    New system variables:

    1. @CI: Enable/disable code intellisense

    2. @CIE: Show LSP error. e.g. when fails to find/run dependency

    3. @CIS: Enable intellisense for script window. default=off

    ORG-22193

    OriginExt support for originpro -- project level

    originpro module is available for external python to call Origin COM by OriginExt.

    Use originpro in external python to call Origin COM by OriginExt.

    ORG-22316

    Python Improvement in Workbook template

    1. Workbook template now detects if necessary Python packages are installed.

    2. Support running Python script saved in a text object in workbook.

    1. Added page property “page.tkey$“ for packages, for example, set page.tkey$ = "py:pandas";for a template, when open this template in Origin, will check if pandas python package is installed.

    2. Support running python code in a button. for example. then there are python in a button named test, just need to run “run -pyb test“.

    ORG-22471

    Add Python based templates in New Workbook dialog

    More Python based workbook templates are added. Hovering mouse over those templates tells if it’s Python sample

    Provide some new templates in New Workbook dialog to show how to use Python in Origin.ORG-22606

    LT Labtalk Accessing Cells from Another Book

    Improve LabTalk accessing cells notation from another book.

    • Support col(A) notation. E.g., =[book1]1!col(A)[1]

    • Book Name support resolving string varaible. E.g., Fill A1 cell with “Book1”, the cell formula =[A1$]1!A1 can refer to A1 cell in the 1st sheet of Book1

    • Support A0 notation. E.g., =[A1$]1!B0

    Origin C

    JIRA

    SUMMARY

    Description

    DETAILS

    ORG-21941

    Functions to download color palette from the internet

    Added OC functions to download color palette: int download_palette(LPCSTR lpcszURL, LPCSTR lpcszPALfilename)

    Added following OC functions to download color palette. If file name arg is NULL or empty then the downloaded palette is installed.

    int download_palette(LPCSTR lpcszURL, LPCSTR lpcszPALfilename)

    At this time it can convert the following:

    • Scribus (.xml) (XML)

    • Office Color Table (.soc) (XML)

    • CorelDraw and Corel PhotoPaint (.xml) (XML)

    • Adobe Color (.aco) (Binary)

    • Adobe Color Table (.act) (Binary)

    • Adobe Swatch Exchange (.ase) (binary)

    • JASC PaintShopPro (.pal) (Text)

    ORG-21693

    OC functions to get modifiers from graph

    Two OC functions to get modifiers are added.: DataPlot.GetModifiers & GroupPlot.GetModifiers

    Added two OC functions to get modifiers.

    Code Block
    int DataPlot.GetModifiers(vector<int>& vnDesigs, vector<string>& saNames);
    int GroupPlot.GetModifiers(vector<int>& vnDesigs, vector<string>& saNames, vector<int>& vnIndices);

    ORG-22289

    OC function to get logical coordinates from xyz

    Improve GraphLayer.WorldToView() and GraphLayer.ViewToWorld() to support 3D graph.

    Improve GraphLayer.WorldToView() and GraphLayer.ViewToWorld() to support 3D graph.

    ...

    JIRA

    SUMMARY

    Description

    DETAILS

    ORG-20942

    Main Menu Rework

    Social menu is added before Help menu, Help menu reorganization

    1. App Center menu is moved under Tools main menu.

    2. Training Videos, Graph Gallery and Open Folder: Sample Folder are added under Help main menu.

    3. Help: View Origin Info menu is removed.

    4. Social main menu is added:

    ORG-21600

    HTML Report Ease of Use

    Some menus added related to HTML report

    1. Added “Add HTML Report“ to worksheet tab context menu.

    2. Added a number of shortcut menu items under the HTML menu

    ORG-22434

    Copy Notes Window within or across sessions

    Copy Notes Window within or across sessions

    • Right click a Notes window title bar and choose Copy

    • Right click Notes window in Project Explorer and Copy.

    Then in another running instance of Origin, Ctrl+V to paste such Notes window in current folder.

    Labtalk command

    note.copy();// copy the active Note window to clipboard

    win -n notes __clip__ //create a new Note window from the content of the clipboard_ //create a new Note window from the content of the clipboard

    ORG-12329

    Set Project Protection in Save Project As dialog

    Protect Project… button in Save Project As dialog

    In the past, user had to use Tools: Protection: Protect Project… to set password.

    Then save project to

    In Origin 2021, user can set protection password from File: Save Project As… dialog.

    Image Added

    Apps

    JIRA

    SUMMARY

    Description

    DETAILS

    ORG-21851

    Let Customers to choose download new app xml

    Manually click Download now button to get new apps information

    In origin2020b, origin will download new app xml when open App center dialog if new app info comes. it is not friendly since it takes more or less 15s to finish downloading.

    In origin2021, origin provide a Download Now button in app center dialog when new app info comes, customer can choose download new app info manually as he want. therefore, user does not need waiting when open App Center dialog.

    once downloading is finished, new app info will be updated in App Center dialog instantly.

    ORG-22326

    App Bar order based on previously used or frequency

    In app Bar context menu: Sort Apps->Recently Used is added

    Option is now available to sort App icons in App Bar by usage. In app Bar context menu: Sort Apps->Recently Used..

    ...

    JIRA

    SUMMARY

    Description

    DETAILS


    Group data according to periodic date/time range using specified statistical value.

    Periodic Report app is capable of grouping data according to periodic date/time range using specified statistical value.

    • Download Periodic Report app from the page and install the app.

    • With a worksheet window activated, click the app icon to bring up the dialog.

      1. Choose Input columns for grouping, and date/time column for periodic calculation.

      2. Select how to merge the input columns, including 1st point, last point, mean, sd, mean and sd, min, max, sum, and count.

      3. Change a start and end date/time accordingly, leave them Auto if you want to cover all the data.

      4. Consider the period for grouping you want, including second, minute, hour, day, month, quarter and year.

      5. For day period, you can also specify how many days as a period.

      6. If you have included prior periods, the result will not be merged for the same period in different "parent". For example, the period you choose is month, if not include prior periods, then all data in each month, Jan. for example, will be merged, but it does not care about the years. If include prior periods, Jan.'s data is merged by year, but not all years together.

      7. If there are some other columns need specific consideration, you can include other columns to handle them.

      8. Specify where to output the result, and then click OK button.

     

    APPS-936

    Perform neural network fitting using Python.

    Neural Network Regression App fits data with neural network backpropagation.

    • Download Neural Network Regression app from the page and install the app.

    • Operation

    1. Activate a worksheet or a graph. Click the App icon to bring up the dialog.

    2. On Input Data tab, select single or multiple datasets for Independent Variables and specify Dependent Variable by selecting a single dataset.

    3. On Options tab, change settings to fit a neural network.

    4. On Quantities and Plots tab, choose which quantities and plots to output.

    5. On Prediction tab, you can select a range of independent data to predict the response with the fitted neural network.

    6. Click OK to output reports.

     

    APPS-917

    Perform detrended correspondence analysis.

    Detrended Correspondence Analysis App can be used to perform detrended correspondence analysis (DCA). It is a multivariate method that corrects for the major problems (the arch effect and compression of the ends of the gradient) of Correspondence Analysis.

    • Download Detrended Correspondence Analysis app from the page and install the app.

    • Operation

    1. Click App icon to open the dialog.

    2. Select data for sites and species.

    3. Customize DCA parameters.

    4. Click OK to output report sheets.

     

    APPS-566

    Use the apparent values for integration according to the current axis scales.

    Apparent Integration App calculates apparent integral in Cartesian and polar coordinates according to the current axis scales.

    • Download Apparent Integration app from the page and install the app.

    • Operation

    1. Activate a graph window. Click the App icon to open the dialog.

    2. Choose area type from Mathematical Area and Absolute Area.

    3. Click OK.

     

    APPS-726

    Find solutions that minimize or maximize a function defined in a worksheet's cell.

    Optimization Solver app can be used to find solutions that minimize or maximize a function defined in a worksheet's cell. It can also be used for curve fitting by defining the residual sum of squares as the target function for minimization.

    Download Optimization Solver app from the page and install the app.

    Operation:

    1. Highlight the Objective Function cell in the worksheet. Launch the app.

    2. Drag and drop columns for Initial Values and Solution.

    3. In the Settings branch, choose target, method, bounds and iteration options.

    4. Click OK button. Results in the worksheet and graph will be updated.

    APPS-788

    Rank multiple fitting functions by their fit reports.

    Rank Models by Fit Reports app can be used to rank fitting functions by fit reports. It can find the optimal model by AIC, BIC, Adj. R-Square, Reduced Chi-Sqr or Residual Sum of Squares.

    Download Rank Models by Fit Reports app from the page and install the app.
    Operation:

    1. Choose Number of Models to Compare. Click OK button.

    2. In the pop-up Choose Fit Reports dialog, click Browse button on the right of each Report edit box. Click OK button.

    3. A summary report will be created. The optimal model by BIC is marked in red color. You can also select another column and sort worksheet to find the best model by other methods.

    APPS-896

    HTML Report Assistant

    HTML Report Assistant app

    • Download HTML Report Assistant app from the page and install the app.

    • This propose of HTML Report Assistant app is to to help you edit a report according to HTML syntax in Notes window. You can get a nice table without touching the CSS part.

    ORG-22170

    Moving Average Functions NANUM (Missing value) Ignore or Zero Issues

    Moving Average Functions NANUM (Missing value) Ignore or Zero Issues

    Support different ways to treat missing value in the following functions: movavg, tmovavg and movcoef.

    New option “missing“ is introduced:

    • 0: omit missing values from the calculation by default which is same as before

    • 1. include missing values in the calculation

    • 2. omit missing values from the calculation, but keep missing in the output

    ORG-21947

    Improvement on Operation Lock tooltip

    Improved info. shows when mousing over the green lock

    • Shows input data range.

    • Shows with better data range info.

    • Shows main range info instead for secondary lock.

    • Change background color of tooltip for locks on worksheet for better visualizing.

    • For Set Column Value operation, shows formula and input range info in tooltip. And when user select the F(x) cell, the before formula script will be shown in the status bar if exists.

    ORG-21848, ORG-3958

    Range String Builder dialog updates

    Makes it easier to build output range

    Clearer labels and contexts, update menu entry name as Custom...

    ORG-21642

    Average Multiple Curves with Different X Ranges Issue

    No extrapolation added when averaging multiple curves

    Adding new option “No Extrapolation”:

    1. Only available when Averaged X is set to Full X RangeCustom, and Follow Curve Trace.

      1. Determines whether to extrapolate the curves when the input curves have different X ranges.

    ORG-22287

    Set Sampling Interval in average multiple curves result

    If all input Y has same sampling interval, no seperate X column will be created

    If source data's sampling interval is all the same (including name and unit), then result column will set with sampling interval instead of output an X column.

    ORG-19877

    Support set sampling interval on locked columns

    Support set sampling interval on locked columns

    Allow set sampling interval on locked column now.

    ORG-21964

    Peak Analyzer default theme setting changes

    Enable Linear Constraints Status and Constraints are checked by default

    2 choices Enable Linear Constraints Status and Constraints change to check by default

    ORG-22091

    GCAS function has no abs

    abs in the GCAS function is not necessary and so it’s removed now.

    abs in the GCAS function is not necessary and so it’s removed now.

    ORG-17275

    Support Open Book(s) buttons from Summary Sheet when Data Source is set to Use Existing Data

    Buttons on summary sheet will also work if the Data source is Use Existing Data in batch processing

    There were Open Book, Reprocess and Update buttons in summary sheet created by Batch Processing only if Data Source was Import from Files in the past. Now there are also such buttons if Data Source is set to Use Existing Data.

    ORG-22119

    Vertical Cursor supports side by side layers

    In the past, Vertical cursor only worked for layers stacked vertically in same graph. Now it will work for layers even on the left or right side

    Linked Cursor for Each Layer button is added in Vertical Cursor tool to add vertical cursor at same X position for all layers in current graph.

    ORG-22218

    Pre-ship Fitting Function Library App and show it in appropriate tools

    In Fitting Function Builder and NLFit dialog, there is Fitting Function Library link to download extra fitting functions provided by our website.

    Choose Tools: Fitting Function Builder… menu. There is link to open the App

    • Click Search button in Nonlinear Curve Fit dialog and search some non-existing function e.g. crossWLF. It will show hint to open Fitting Function Library App for more functions.

    ORG-22216

    Need consistent way for date time data in grouping variable

    Improved tools that support group column with date time data so the output will be sorted by meaningful week, month, quarter, etc. order.

    • When display julian date as Month format, date value with same Month will be considered as same group.

    • Support sort result column by a internal order depends on Date format.

      • 10 (the 5th one, day): 1 to 31

      • Fri (the 6th one, day of week ): Monday to Sunday, Mon Tue Wed Thu Fri Sat Sun

      • Jul (the 17th one, month display): January to December, Jan, Feb,...,Dec

      • Q3 (the 19th one, quarter display), Q1 to Q4

      • 2020 (the 8th one, year display): year ascending

    • Set user-defined label in output result worksheet with correct date/time format setting.

    Above rules will be applied in following tools,

    • Pivot Table

    • Unstack Columns

    • plot_gindexed

    • plot_gboxindexed

    • plot_bygroup

    ORG-21086

    Support import data to embedded matrix sheet with data connector when batch processing

    Allow importing data directly into embedded matrix imported by data connector in worksheet during batch processing

    origin support importing data to embedded matrix sheet since Origin2018b, but not support if matrix data is imported by data connector. we improve this to make it more applicable.

    note: drag and drop data or image to opened analysis template is also improved.

    Statistics

    JIRA

    SUMMARY

    Description

    DETAILS

    ORG-21828

    Statistics on Rows support multiple sheets as input

    In Data Range box, user can enter (1:10)!A:B to do rowwise statistics of column A to B on sheets 1 to 10.

    Origin 2021 added this support in Statistics on Rows dialog.

    In Data Range box, user can enter (1:10)!A:B to do rowwise statistics of column A to B on sheets 1 to 10.

    ORG-22406

    Significance Label for ANOVA Result Worksheet

    ANOVA Result Worksheet adds Grouping Letters Table in Means Comparison

    ANOVA Result Worksheet adds Grouping Letters Table in Means Comparison

    ...