Data Handling
Column/Cell Value Formula
...
JIRA | SUMMARY | Description | DETAILS | ||||
---|---|---|---|---|---|---|---|
Connect to NI TDMS file. | TDMS Connector App is not pre-installed with Origin. To install, click Data: Connect to File: Add New.... The App Center opens listing only Connector Apps. Click the Download and Install button beside TDMS Connector to install the App. |
| |||||
Connect to a Yokogawa WDF file. | Yokogawa WDF Connector App connects the Origin project to Yokogawa WDF files. Yokogawa WDF Connector App is not pre-installed with Origin. To install, click Data: Connect to File: Add New.... The App Center opens listing only Connector Apps. Click the Download and Install button beside Yokogawa WDF Connector to install the App. |
| |||||
Import tables in the pdf file. | Import PDF Tables app can be used to import tables in the pdf file. | Download Import PDF Tables app from the page and install the app. This app requires embedded Python in Origin, Media Feature Pack from Microsoft and Ghostscript. Operation:
| |||||
Better support of *.dat file with CSV Connector | Drag and drop of *.dat files will use CSV Connector if no Import filter is checked for Drag and drop of that file type. | Drag and drop *.dat file will use CSV Connector if no Import filter is checked for Drag and drop | |||||
Matlab DC supports opaque variable like date time in v6/v7 version files | Matlab DC supports opaque variable such as date, time, duration, or table in Matlab v6/v7 version files. | import opaque type variables: Date, Time, Duration, Table, etc. | |||||
new TDMS Connector | A new NI TDMS Connector has been created. | can contact us to get the app to try import NI TDMS file using connector app | |||||
import Bruker DQL/RAW files | A new DC DC to import Bruker DQL/RAW files has been created. | Add DIFFRAC Connector app to import Bruker DQL/RAW files | |||||
Data; Connect Multiple Files improvement | Data: Connect Multiple Files… a Source drop-down list has been added that allows for Specified Files or all Files in Specified Folder. | Menu Data: Connect Multiple Files… adds a Source drop-down list that allows Specified Files or all Files in Specified Folder. | |||||
Re-import Web DC should re-download the data | Re-import of Web DC now re-downloads the data based on the value of the @CFDT System Variable. |
| |||||
Move Legacy Import menu to bottom | Legacy Import from File menu moved to lower position in the Data menu. | Push the "Import from File..." menu item to be after the DC menu items under Data menu. | |||||
MATLAB connector supports Tables | MATLAB connector supports importing tables from .MAT files. | MATLAB Connector supports importing tables from .mat files. | |||||
CSV Connector allows Append Rows | CSV Connector now permits appending rows to columns. | Set | |||||
DC Connected Sheet remembers customized sheet name | A DC-connected worksheet now remembers a customized sheet name and does not change its name. | Added LT access User-Sheet-Name property This applies only to those connectors that are using the Tree framework, so besides Matlab, it will affect JSON, netCDF, etc. | |||||
Clone Import for Data Connector | Clone Import for Data Connector-based imports is now supported. | Support Clone Import for Data Connectors. | |||||
Yokogawa Binary WDF File Connector | New Yokogawa Binary WDF File DC has been created. |
| |||||
Import Menu Customization - Make it easier to find more Import Apps | Import Menu Customization via Customize… menu- makes it easier to find more DC Apps | Added "Customize..." item under “Data: Connect to File“ menu. | |||||
@ISC=0 did not work | @ISC=0 System Variable fixed and a wks level control “ | Added a wks level control “ default = 1 means it will follow @ISC, and if =0, it means do not resize column width after import. | |||||
ISO Date-Time Format More Issues | CSV Data Connector now supports Zulu Time (UTC). | CSV Connector Supports Zulu Time (UTC), the | Import entire folder fails – Beta6 | Failed to import entire folder when using Import Filter connector | Select Data->Connect Multiple Files menu and pick Import Filter as Data connector. Then specify a folder to import failed. |
Worksheet
JIRA | SUMMARY | Description | DETAILS |
---|---|---|---|
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. | |
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. | |
Change Column (Cell) Format on Pasting Date Time Data | Check if copied data is date and time and paste accordingly |
| |
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.
| |
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. | |
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.
| |
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. | |
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 | |
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 | |
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 = 0/0 //turn the feature off This property is saved with the column. | |
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? | |
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 | |
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. | |
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. |
...
JIRA | SUMMARY | Description | DETAILS | ||
---|---|---|---|---|---|
Excel like pi product function | Add product Labtalk function which returns the product of a dataset |
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. | |||
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
exp1 is resolved and assigned to name1, exp2 is resolved and assigned to name2, then assign names to calculation for result.
| |||
Command Window improvement | Command Window now supports Zoom in/out and auto code complete | support mouse wheel zoom, more support on auto complete | |||
Introduce new LabTalk command to update pending locks | Improve Labtalk command run -p to update pending locks for active book/sheet. |
| |||
LabTalk Access to Dash Definition at Plot Level | Labtalk command set supports setting line dash property. | Syntax: set name -ldf value
| |||
GetN supports dataset elements | GetN Box now supports to assign dataset values. | E.g. dataset values; | |||
ORG-22214 | LT Labtalk control of Box Plots | Add more Labtalk controls to customize Box Plot properties such as statistical lines, labels, etc |
| ||
Sort columns by Long name, etc. | Added Labtalk worksheet method |
| |||
Labtalk access to more plot properties | Add more Labtalk controls to customize plot properties such as symbol overlaps, label properties, plot color, etc |
| |||
GetNBox focus issue | Increase default GetNBox entry focus time | Changed the default value of @ETG to 1700. | |||
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. | |||
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. | |||
LT Labtalk Accessing Cells from Another Book | Improve LabTalk accessing cells notation from another book. |
|
Python
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
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Update preshipped Python version | Upgrade preshipped Python to 3.8.3 | upgrade Python to 3.8.3 | menu access access to Python | Under menu Connectivity,add new menu Open Untitled.py, Open Default Python Functions, Open examples.py, Open, Python Packages. etc
| |||||||||||
Import Wizard with Python support | Support data file import with Python in Import Wizard. Import filter now support Python code |
| |||||||||||||
Fitting functions using Python | Support using Python function as fitting function | Define fitting function using Python and fit in Origin | |||||||||||||
Wrap text in Python Console | Support auto wrapping text in Python Console | Allow auto wrapping for dir command’s output in Python Console. | |||||||||||||
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. | |||||||||||||
Remove Python 2 from installation | Stop supporting Python 2. | Stop supporting Python 2. | |||||||||||||
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.
| |||||||||||||
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… | 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 |
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 |
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 |
Support running UTF-8 py file in Origin Python
Support running UTF-8 py file in Origin Python
run -pyf test.py
Python file created in Code Builder is set as UTF-8 by default.
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)
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);
Improve Using Origin from Outside Python
Added python package OrglabExt for COM calling
Added python package OrglabExt for COM calling
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.
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
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 |
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.
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:
In Origin main window, choose Conectivity: Python Packages…
In Code Builder, choose Tools: Python Packages…
We recommend restart Origin after the installation.
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
Support Intellisense for Python
Support Intellisense for Python coding in Code Builder.
Implemented features:
Auto complete when typing in editor, or when invoked via menu/hotkey. (Ctrl+L)
Go to definition on symbol under cursor. (F11, or context menu)
Find references on symbol under cursor. (Alt+Shift+F, or context menu)
Docstrings shown as a popup window when hover on a symbol.
Signature help window will be shown after typing '(' for function hint, prototype, parameters will be shown in this window
Show symbols in current file (Alt+M, or main menu)
New system variables:
@CI: Enable/disable code intellisense
@CIE: Show LSP error. e.g. when fails to find/run dependency
@CIS: Enable intellisense for script window. default=off
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.
Python Improvement in Workbook template
Workbook template now detects if necessary Python packages are installed.
Support running Python script saved in a text object in workbook.
Added page property “
page.tkey$
“ for packages, for example, setpage.tkey$ = "py:pandas";
for a template, when open this template in Origin, will check if pandas python package is installed.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
“.
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
shapelist$ //support individual and group plot, only write access
layer.plot.symbol.size
layer.plot.symbol.kind |
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 |
GetNBox focus issue
Increase default GetNBox entry focus time
Changed the default value of @ETG to 1700.
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.
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.
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 Book1Support A0 notation. E.g.,
=[A1$]1!B0
Origin C
JIRA | SUMMARY | Description | DETAILS | ||
---|---|---|---|---|---|
Functions to download color palette from the internet | Added OC functions to download color palette: | Added following OC functions to download color palette. If file name arg is NULL or empty then the downloaded palette is installed.
At this time it can convert the following:
| |||
OC functions to get modifiers from graph | Two OC functions to get modifiers are added.: | Added two OC functions to get modifiers.
| |||
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 |
---|---|---|---|
Main Menu Rework | Social menu is added before Help menu, Help menu reorganization |
| |
HTML Report Ease of Use | Some menus added related to HTML report |
| |
Copy Notes Window within or across sessions | Copy Notes Window within or across sessions |
Then in another running instance of Origin, Ctrl+V to paste such Notes window in current folder. Labtalk command
| |
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. |
Apps
JIRA | SUMMARY | Description | DETAILS |
---|---|---|---|
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. | |
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.. |
...