Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...


Style
/*** DO NOT EDIT ***/
/*** This block necessarily fixes some quirks of ConfWiki editor, leave it here unless you understand. ***/

.expand-container + p, style.conf-macro + p {
    display: none;
}
.expand-control {
    margin-bottom: 0;
}
.expand-control-text {
    color: #000;
}

...

Div
classtoggle-all-button

Toggle


All



Origin 2018b Features


Origin Interface


Expand
titleActive Window is indicated by a frame around the window. Color and line style can be customized.

When there are many child windows, it's hard to tell which window is active.

A magenta frame is added around active window title bar 

System Variables:
@AWI = No Indicator
@AWI = 1, default, solid line, outside window frame

@AWI=2;title bar frame
@AWI=3;title bar top line

and add 4 to use thin line 
and add 8 to use dashed line
for example 
@AWI=9;//thick dashed line, window frame


@AWF=0 (default), no flashing @AWF=100, in milliseconds, the flashing time

@AWC for indicator color
@AWC=color(255,0,0);

...

Expand
titlePlot menu icon size can be scaled by a factor from 0.5 to 2
Use system variable @pps to set scale from 0.5 to 2, zoom in or out the Plot menu icon size



Graphing


Labels, Legend, Color Scale and Bubble Scale


Expand
titleScale factor for fll pattern entries in legend

For example, code

 \L(1, PatternScale:p200) 

means set both X scale and Y scale of pattern to 2. 

...

Expand
titleSupport for label to be attached to data or error bar
We add an option "Error Bar" to "Attach to" combo in Label tab. For Y error bar, it will take effect when position is Above or Below.
For X error bar, it will take effect when position is Left or Right.



Plot Manipulation


Expand
titleEasier way to show/hide error bars and data labels from Object Manager

...

Expand
titleAuto option added Colormap rescale modes
Auto is added to list of Rescale modes in colormap tab of Plot Details.



Graph Page and Layer


Expand
titleFit all layers to maximum available page area, including option for margins.

Margin control to fit all layers in graph into page area nicely.

User stories:

  • There are too much white space outside the layer. User wants to make the margin tigher.
  • Some text, axis title, or layer shows in gray area, so they will not be printed/exported. Use this tool to fit them into page siie.

...

Expand
titleEasier notation for adding labels when merging multiple graphs, including support for Roman numerals

Set Label Text as Custom and click the dropdown list to see Custom notations.

Notations can be combined, e.g. h$n$ to show #1, #2, ....

a$ (default) – enumerate lower case letters
A$ – enumerateupper case letters
r$ – enumerate lower case roman numerals 
R$ – enumerate upper case roman numerals 
n$ or # – enumerate numbers
h$ – represent #

Graph## – Graph01, Graph02, ...

hsn$ means #1, #2, ....

Labtalk Script example:

merge_graph labeltext:=custom labelcustom:=h$n$;

Tip: Click the > button next to Dialog theme and choose Generate Script, executable Labtalk script will be created.



...

Expand
titleImprove the assignment of columns to layers for multi-panel plots

When number of x cols <= number of layers, use x col as separator to plot into layers; When number of x cols > number of layers, pop up error message: When number of x cols > number of layers, pop up error message. Add X Column" to the "Group By" combo in Multiple Panels by Label tool dialog.

For example, if data is organized as XYYYXYY and user asks for a 2-panel plot, the first three Y columns will be plotted in layer 1, and the last two Y colums will be plotted in layer2.



3D and Contour


Expand
titleSupport total label for 3d stacked column/bar plots

...

Expand
titleSupport <end> as end of column/row for size, when creating virtual matrices

Add a context menu "Dynamic Ends" to the Plotvm dilaog's Input node. When it is selected, virtual matrix's range will be expanded to both row&column ends.



Axis


Expand
titleExtend arrow at end of axis to show outside of the layer limit
User can set offset of axis arrow so the arrow head is longer than original axis.

...

Expand
titleAdded Rescale Axis option to axis context menu



Analysis


Expand
titleFitting: Standard error on derived parameters is now included in the parameter Summary table

Output the SE of derived parameter and in the Summary table.

...

Expand
titleSignal Processing: Unit description added to metadata of STFT result
Support unit output in worksheet result of STFT.



Data Processing


Expand
titleSupport for custom formatting of User Parameter rows in Worksheet
From Origin 2018b, user is allowed to set data format for a Parameter row or a User-Defined parameter row. This option is provided in Worksheet Properties dialog.

...

Expand
titleCluster Gadget supports clearing category information



Importing


Expand
titleCSV Import: Added option for starting new rows when importing multiple files
Added a new Import Mode option:Start New Rows option for import CSV tool

...

Expand
titleImport data with Start New Columns mode will not overwrite empty columns with merged column labels

If user merges some column labels e.g. Comments and import mode is set as Start New Columns. Then Origin will treat the merged column as a unit and check if 1st column in the unit is blank or not. If blank, import into it. If not, start new column after the unit and import there. 

System vairable @DCM=1;//disable check merged labels. Then Origin will work the old way before 2018b. Import into empty columns in the unit.



Expand
titleImport data with Start New Columns mode will overwrite columns with missing values before creating additional columns

Columns with missing values are still treated as columns with data. In the past, when user tried to import multiple data into same sheet with Multi-File Import mode set to Start New Columns, data will be imported into new columns after missing values columns. In 2018b, data will be imported into those missing value columns.


...

Expand
titleImprovements to labels in ASCII import dialog

S1: Some label on ASCII dialog were changed:
1. Show blue hint "each character is treated as one delimiter" when the number of "Other Delimiters” is more than 1.
2. Multiple Delimiters --> Multiple Characters
3. Combine Delimiters as one Delimiter --> Treat Consecutive Delimiters as One (use a same label as ImpWiz)
4. Move "Header Lines" branch node above "File Structure" node, to be consistent with ImpWiz.

S2: Restrict editbox to allow single character input

On Import Wizard dialog, Data Columns page, the "Other" editbox is not allowed to enter more than 1 char.



Exporting and Presentation


Expand
titleOption to export multiple graphs as a single multi-page PDF file
"Export as multi-page PDF file" checkbox is added in Export Graph dialog to export multiple graph windows together into one Multi-Page PDF file.

...

Expand
titleMore options and script commands to customize application of Master Page elements

 1. Any object with name beginning with "NoExport" will be skipped as master items. Use @UPN=1 to disable it.

2. We can use labtalk command to apply active page's width and height to all other pages.

doc -pdad;

This command was made for the button on the master page.

3. Allow rotate from landscape to portrait. The following labtalk command is used.

page -o r

"Rotate" button is on the master page template.
4. "Save" button is on master template.



Batch Processing


Expand
titleNew App to distribute multiple files across multiple cores for faster Batch Processing
Select the Analyis Template and data files. Then specify how many cores to be used. The files will be distributed to multiple instances of Origin running on each core. App can be used to monitor progress. Once all tasks are finished, a consolidated summary report can be created with results from each core combined into one table.

...

Expand
titleBatch Plot dialog now combines options for Book, Sheet and Column into one dialog

Batch Plotting GUI Improvements

  • Combine Batch Plot with Book, Sheet and Column into one dialog. There is Batch Plot with dropdown list on the top of the dialog.
  • Matching conditions to filter book/sheet are moved on top of the book/sheet list.
  • Batch plotting menus and toolbar buttons also combine into single button and menu.
Image Modified



Expand
titleAllow importing data directly into embeded matrix in worksheet when performing batch processing

If the embeded matrix exits in the analysis template, batch processing support importing data or image to the embeded matrix. Besides,  drag and drop to import data or image to opened analysis template is also supported.




Project and Data Management


Expand
titleBackup folder location moved to be same location as User Files Folder

...

Expand
titleOption to default to old OPJ format for saving projects
A new system variable:
@OPJ=
0 Project to use new format and Copy Paste also new format
1 Project to use old format but Copy Page to use new format
2 Project to use new format, but Copy page to use Old format
3 Both will use old format

...

Expand
titleBottom panel of Project Explorer no longer lists folders

We are working on supporting moving windows in bottom panel to reorder them. If there are folders in subfolder, it's hard to reorder windows. So we hide folder in bottom panel.

  • Folder structure will only show in top panel. 
  • Set system variable @PEF=1 to show folder in bottom panel
  • When mousing over folder in top panel, tooltip will show about folder comments, size, etc. 



Programming


Expand
titleLabtalk:  New command to turn on audit log for all projects.

new LT command

doc -log1; //turns on for current project with empty password doc -log1 test;//turns on for current project with password = "test" doc -log0 test;//turns off for current project
doc.AuditLog=; //(ready-only )returns 1 or 0 AuditLog is on/off for the current project.

New system variable that is Registry based added
In Script Window, run
@ALOG=1;//turn on Audit log on New project (untitled)

You can also preset this in msi installer script to set registry
HKEY_CURRENT_USER\Software\OriginLab\Origin 9.5b\International\SysV\ALOG
with a DWORD value of 1



Expand
titleLabTalk:  Script access to better support install and uninstall of Origin files that D&D can install

Add the nlsf_install_fdf and nlsf_uninstall_fdf OC functions to install and uninstall fitting functions.

LabTalk Access is supported:

run.section(dofile.ogs, OnInstallFDF, "%Yfitfunc\MyGauss.fdf")
run.section(dofile.ogs, OnUnInstallFDF, "%Yfitfunc\MyGauss.fdf")

Add the template_install and template_uninstall OC functions to install and uninstall graph templates.

LabTalk Access is supported:

run.section(dofile.ogs, OnInstallTemplate, "%YMyGraph.otpu")
run.section(dofile.ogs, OnUnInstallTemplate, "%YMyGraph.otpu")




Expand
titleOC: Better default for index in  GetParameterResults
The default value of second parameter of OC function GetParameterResults() was changed to 0.

...

Expand
titleOC: Access to get and set LabTalk LT properties of Origin Objects

S2: Support accessing page properties by OC functions:Pagebase::SetProp() and Pagebase::GetProp(), for example:

void test_Graph_Set_and_Get_Properties()
{
	GraphPage gp;
	gp.Create("origin");
	gp.AddLayer("Test");
	double vv;
	gp.SetProp("active", 2);
	gp.GetProp("active", &vv);
	
	return;
}



Expand
titleLabtalk: Support for programming way to control Master Item display

S2: Programming way to view Master Items on Screen LT

page.master = 0, not export the Master item.
page.master = 1, export the Master item, but not view it on screen. page.master = 2, for screen, but ignore if bit 1 not set

However, if page.master = 1,  can use LT script "Menu -e 33096" to toggle viewing Master items on screen, but cannot control it.

...

Expand
titleAdded a parameter for specifying the title of dialog created by "okoc_folder_browser"

Added a new parameter "lpcszInitTitle" to the OC function okoc_folder_browser, and the new parameter is used to specify the title of dialog box, now the function is:

int okoc_folder_browser(LPCSTR lpcszInitDir, StringArray* saFolders, LPCSTR lpcszInitTitle)

The new parameter "lpcszInitTitleis used to specify the title of dialog box, and its default value is NULL.

Example:

#include <Origin.h>
#include <okocUtils.h> void folder_browser_ex1() { vector<string> vsFolders; int nRet = okoc_folder_browser("C:\\test", &vsFolders,"Folder browser"); printf("%d folders selected!\n", nRet); for ( int ii = 0; ii < nRet; ii++ ) printf("Folder%d: %s\n", ii + 1, vsFolders[ii]); return; }



Expand
titleOC: Functions for  Batch Plotting
Added three oc functions:

1. int GraphPage::CanDuplicate(int nWith = CAN_DUP_WITH_ANY);
Suppose a graph is active, use this OC function to tell if this graph is possible to duplicate with new columns, sheets, books.

2. int GetDuplicateWithCols(StringArray &saItems, DataPlot &dataPlot = NULL, int nModifier = PMMT_IGNORE);
Assume a graph is active, use this OC function to get the list of columns which can be used to batch plot the graph.

3. int GetDuplicateWithBooks(StringArray &saItems, int nModifier = PMMT_OFFSET, int nMatchCol = MATCHCOLUMN_INDEX, int nMatchSheet = MATCHSHEET_INDEX);
Assume a graph is active, use this OC function to get the list of sheets or books which can be used to batch plot the graph. If nMatchSheet == MATCHSHEET_IGNORE then Range is Sheet, else Range is Book.


...

Expand
titleEasier way to modify symbol shape for special point
When customized a special point: 
  • Select a symbol shape from dropdown, will clear the "Custom Construction" checkbox
  • Select "Custom Construction" checkbox, options in custom construction group will affect the preview



Origin 2018 Analysis


General


Expand
titleSet Default Digits for individual types of analyses.

Prior to Origin 2018, there is only global control of display digits via Digits in Report in the Numeric Format tab of Tools: Options.

In 2018, users can specify default Default Digits to apply for different types of analyses. For example:

After an analysis is done, right click in the table in the result sheet and choose Digits...  Set the Digits values and check Save as Default.

The default will apply to other instances of that particular analysis operation in the future.


To reset back to system default: Close Origin. Go to User Files folder and delete Defaults.XML.


...

Expand
titleIgnore Hidden column/plots when choosing all columns or plots for analysis.

A system variable, @AIP, is added to control whether ignore hidden column(s)/plot(s) or not when adding all as input(s) for analysis.

  • =1 (default), ignore hidden plots.
  • =0, include hidden plots.

For example, if some columns or plots on a graph are hidden, when opening an analysis dialog that supports multiple inputs and the user chooses All Columns or Add All Plots, hidden ones will be ignored by default unless @AIP is changed.



Fitting


Expand
titleAdd more Fit Statistics to fitting Result Table Quantities.

In previous versions, some Fit Statistics were excluded from list of available Quantities in Table. More items are available in Origin 2018.

...

Expand
titleFDF should include Category

Add new Category key to FDF General Information section.

  1. When D&D the FDF to Origin, FDF is automatically installed under the Categorys according to the Key.
  2. If this new key is empty or missing, it will pop up dialog to ask about which category to install.
  3. Operations in Fitting Function Builder and Fitting Function Organizer will update this Category key, such as Create/Move func.
  4. Fitting Function Builder allow to change category since 2018.

...

Expand
titlePut all weighting methods in dropdown items for all input datasets
  • In Nonlinear Fit tools, Data Selection page, all weighting methods are putted in the Weights drop-down list whichi allow to set multi datasets' weight mehod.
  • In Nonlinear Fit tools, Data Selection page, add Apply Weight to All menu to Range's context menu list. 



Expand
titleSmarter Handling of NLFit X Data Type
When Iteration Algorithm is set as "Levenberg Marquardt" in Nonlinear Fit tools, Fitted Curves page, default X Data Type is changed as new method: Follow Curve Shape. (Note: except the Nonlinear surface/matrix fit tool)



Peak Analysis


Expand
titleAutomatically set Area/Amplitude boundaries based on Peak Finding Direction.
  • If Peak Finding direction is Positive only, then Area boundary is >=0.
  • If Peak Finding direction is Negative only, then Area boundary is <=0.
  • If If Peak Finding direction is Both, then no boundary is set.



Statistics


Expand
titleAdd grouping support for Statistics on Rows.

Statistics on Rows now allows grouping based on values in a columns label row. For example, in below illustration, results will be grouped by values in the Long Name label row.

...

Expand
titleDiscrete Frequency for categorical data needs to add zeros for if not found

Discrete Frequency dialog  adds a checkbox Show Zero Count Categories.

Image Modified



Expand
titleImprove Weibull Fit with RRX method and Add Plot for survival function and hazard function for weibull fit - Origin Pro

Weibull Fit dialog adds below new items:

Image Modified



Expand
titleWeibull Fit Calculate 100% Probability Which Can't Plot
Origin 2018 changed Weibull Fit tool's Score Methods from Kaplan-Meier to Benard, which also affects Distribution Fit tool's probability plot .



Expand
titleRename Weibull Percentiles into percentages

Weibull Fit tool's PlotData worksheet column label changed.

Image Modified



Expand
titleAdd ellipse coefficient to correlation matrix

From Origin 2018, the major and minor radius of the correlation ellipse in Scatter Matrix are exported to the result sheet. No matter you create the Scatter Matrix from Plot: 2D: Scatter Matrix or Statistics: Descriptive Statistics: Correlation Coefficient, you can find the major and minor radius of each correlation ellipse by A and B values in the Parameters column label row of the PlotData worksheet, where A is the major radius and B is the minor radius.

Image Modified



Expand
titleAdd Median Absolute Deviation, Robust Coefficient of Variation and Harmonic Mean for Statistics on Columns/Rows tool

Statistics on Columns/Rows dialog adds below checkboxes:

Image ModifiedImage Modified



Expand
titleAdd option of Exclude cumulative counts plot to Pareto chart dialog

Add options to the Pareto Chart (Binned and Raw) dialog

  1. Add Show Cumulative Percent Plot checkbox to plot the cumulative counts plot.
  2. Add branch Combine Smaller Counts in One Category to group combine smaller values settings.

Image Modified



Batch Processing 


Expand
titleImprovements to Batch Processing:

Mini tutorial:

  1. Open Batch Processing dialog.
  2. Load Analysis Template under <Origin EXE folder>\Samples\Batch Processing\Sensor Analysis.ogwu.
  3. For File List, select Sensor01, Sensor02, and Sensor03.dat under <Origin EXE folder>\Samples\Curve Fitting\.
  4. Set Result Sheet as Result.
  5. Click OK. In Summary sheet, there is a graph image from the analysis Template on each row. Mouse over it to pop up a larger image of the graph.

How to include a graph image in each row or report sheet:

  1. Open the analysis template .OGWU file. e.g. <Origin EXE folder>\Samples\Batch Processing\Sensor Analysis.ogwu.
  2. Copy an embedded in the report sheet and Paste Link in a cell in the sheet that will be used as Summary Sheet in Batch Processing. 
  3. Save the analysis template and use it in Batch Processing dialog.

...

Expand
titleImprove Labtalk script to support exporting specified embedded graph(s) or graph sheet(s) during batch processing via Script After Each Process in Batch Processing dialog.
Example scripts:
//To export a graph sheet with sheet name: Graph1

expGraph type:=pdf overwrite:=rename export:=specified page:=Graph1!;
//To export a graph sheet with is the 5th sheet
expGraph type:=pdf overwrite:=rename export:=specified page:=5!;
//To export embedded graph in result sheet by graph short and long name
expGraph type:=pdf overwrite:=rename export:=specified pages:="FitLine - Linear Fit";
//To export embedded graph in FitLinear result sheet by graph short name
expGraph type:=pdf overwrite:=rename export:=specified pages:=FitLine;

//To export embedded graph in worksheet cell
expGraph type:=png filename:="<long name>" export:=specified page:=col(A)[3];

//To export multiple graph cells or floating graph
 expGraph type:=pdf  overwrite:=rename page:=2!; //sheet index



Origin 2018 Ease of Use


Project File Features


Expand
titleNew Project File Extension for New File Format and File Dialog
In Origin 2018, New File Extensions like OPJU, OGWU, OGGU, OTWU, etc are added to various opening/saving file dialogs drop-down lists.



Expand
titleConvert Origin to use Unicode for text and a new file structure for various Origin files including projects.

File extensions are changed to: OPJU, OGWU, OGGU, OTWU,, etc.

New structure allows file sizes to be reduced (sometimes greatly).

It also allows files to be loaded more quickly.

...

Expand
titleIf Origin crashes, it will restart with last Autosaved OPJ/OPJU loaded

If an OPJ/OPJU file is opened and being worked on in Origin, it will be autosaved every 12 minutes by default and if Origin crashes, user can go to Autosave folder to find it. 

In Origin 2018, if Origin crashes, it will restart with last Autosaved OPJ/OPJU loaded so user doesn't need to manually find it in Autosave folder. 

Note:

  • If it happened that Origin crashes before 1st autosave happened, then the original OPJ/OPJU will be loaded. 
  • If you have worked on a new project file but never saved it. It is called Untitled.opj Origin doesn't autosave Untitled.opj
  • Old feature: User can control how often project is autosaved in Tools: Options dialog.



Origin Central


Expand
titleGraph Samples tab is restructured and allow selecting a specific Plot Type category as well as keyword searching.

Image Modified



Expand
titleIn the Projects tab, Origin projects that were modified and not actually saved can be reopened with the modifications in place via the Unsaved Files list.

Even if the user chooses not to save a project file (OPJU), an autosaved OPJU will be kept for 7 days by default. If the user actually saves the project after modifying it, the unsaved version will be removed.

  • The unsaved version can be opened from the Unsaved File list in the Projects tab.

  • The user can turn off this feature from Tools: Options: Open/Close tab.

  • The System Variable @USKT is used to control how many days to keep the unsaved OPJU file. Default is 7 (days).
  • The system Variable @USM is used to limit the maximum OPJU size for Autosave Unsaved Project. Default is 20 (MB).



Workbook


Expand
titleImages in worksheet cells now be viewed as enlarged popups when running mouse over the cell.

For example, when mousing over the following cells, an enlarged popup image will be displayed.

  • Sparklines cell.
  • A cell with Embedded graph.
  • A cell with Inserted Image from File.

Image Modified

A System Variable @CET is used to control the behavior:

@CET=0, use default size of 250x250
@CET=1 to 29, disable this feature
@CET > 30 is user defined size in pixel, scaled by DPI scale factor

...

Expand
titleAccess to the Character Map in Worksheet cell edit mode.

Double click a cell to enter the edit mode.

Ctr+M or right-click and choose Character Map to insert symbol into cell using the font specified for the cell.

The benefit of this is that it allows actual Unicode characters to be inserted into Label rows, rather than codes used in previous versions of Origin. Hence, then the values in Label Rows are displayed elsewhere, those Unicode characters will be used.

Image Modified



User Interface


Expand
titleInsert non-keyboard Unicode characters similar to MS Word and other apps using 4-digit code and Alt+X keyboard combination.

To insert a character that is not supported by your keyboard, find the relevant 4-digit Unicode code via Google. Then, when in edit mode, type in the 4 digits and hit Alt+X to convert it to the actual character. Note: If the font for the location does not support the relevant character, it may not display properly even though the character is valid.

This feature works in:

  • Worksheet cells even if rich text isn't enabled.
  • Axis titles, legend, and any regular text label on a graph.
  • Many Origin dialogs that support text entry such as those related to axis title, legend, and text objects. Also dialog like the Find in Projects and others.
  • Notes window.

...

Expand
titleRemove the "Yes-No" confirmation dialog about saving changes to "Tools: Options" modifications.

After you make modifications in the Options dialog (accessible from menu Tools: Options) and click "OK" button, the changes will be saved directly WITHOUT the dialog to confirm.




Apps


Expand
titleA small selection of Origin Apps are installed into the Apps Gallery by default (unless the user already had Apps installed from a previous version of Origin).

Apps have been a free feature of Origin since Origin 2016. To raise awareness of Apps, we decided to ship a few with Origin 2018 to draw attention the apps Gallery. If the user has not previously installed Apps in earlyier versions of Origin, the following three Apps will be installed:

  • Send Graphs to PowerPoint - better than the built-in tool
  • Send Graphs to Word - send multiple graphs to Word
  • Simple Fit - simple to define fitting functions and fit on graph

...

Expand
titleApp Central Dialog.

The new App Center dialog (keyboard shortcut F10) centralizes App discovery, installation, without having to leave Origin  and open a web browser (unless you choose to learn more about selected Apps).



Graphing


Expand
titleImprovement to data labeling at specified Indices only.
In addition to manually entering specific indices, now specific columns may be selected that contain indices for the specific labels.

...

Expand
titleHotkey S to move light source position on 3D graph.

Hotkey S is added on 3D graph to move light source.

  • S key + arrow keys.
  • S key + drag.
  • S key with + to zoom in. S key with - to zoom out.



For Upgrade Users from Origin 2017


Expand
titleOption to bring over 2017 Workspace and toolbar layout to Origin 2018.

When launching Origin 2018 for the 1st time, after specifying User Files Folder, a messagebox asks user if he/she wants to copy over Origin 2017 workspace and toolbar layout. Alternately, the user can go to View: Toolbars, click Reinitialize button to see the message again.

...

Expand
titleImportant Origin-related folders are no longer in version-specific subfolders.

The following folders are no longer put into Origin version-specific subfolders making migration to future versions of Origin much easier.

  • User Files\
  • AutoSave\ 
  • Unsaved\
  • License\



Origin 2018 Graphing


New Graph Types


Expand
titleBridge Chart/McKinsey-style waterfall.

Support Bridge chart with total and connecting lines.

  • Coloring bars based on Increase/Decrease and Total.
  • Set Data Indices for Total/Subtotal in Plot Detail: Bridge Chart tab.
  • Show Connect Line and Connect by Subset in Plot Detail: Bridge Chart tab.
  • Select a point in Bridge Chart, right click and you can select Set as Total/Subtotal.After select it, it will append data index to Data Indecies for Total/Subtotal in Plot Detail.
  • New Plot button group in Plot Main Menu: Bridge Chart, Stacked Bridge Chart, Stacked Total Bridge Chart, Horizontal Bridge Chart

...

Expand
titlePlot multiple line plots with colors mapped to a palette. Corresponding color scale shows in legend.

It was doable before Origin 2018 but needs a lot of steps.

  • Plot: Multi-Y: ColorMap Line menu is added in Origin 2018 to quickly plot it.
  • Easy to change palette.



Legend Improvements


Expand
titleGUI to Customize Symbols in Legend.
  • Manually create a symbol+line legend entry with many customization options.


...

Expand
titleUse One Legend Type Only and Auto Update
Add a new menu option named Use One Legend Type Only and Auto Update under Legend context menu. When it's checked and select one type of legend in Legend context menu, all other types of entry will be deleted. When data point/data plot is added or deleted, the legend will be updated automatically.



Axis Improvements


Expand
titleSupport Arrow at axis begin and end in 2D graphs.

Arrow node on Line and Ticks tab of Axis dialog

...

Expand
titleAxis end doesn't look nice when zoomed in

Before Origin 2018, when zoomed in, Axis ends didn't look good.

In Origin 2018, the Axis ends will look nice even when zoomed in, depending on different coordinate system.

-2 (default): square for Cartesian (=90 degree) coordinate, round for other coordinates (!=90)
-1: follow @LCA
0/1/2 round/square/flat, 




Plot Manipulation


Expand
titleUse System Increment list when adding new plots into existing graph.

Origin 2017 supported customizing system color list, shape list, etc. for line, line+symbol, scatter plot.

But when user added more then 1 column of data to existing graph, the customized system color list wasn't used. Instead the color list defined in graph template was used. 

In Origin 2018, when adding more than 1 column of data to existing graph, the customized system color list will be used. 

...

Expand
titleAllow drag-and-drop to add dataset into the group of Stacked Column
In 9.4, it is not possible to adding a dataset into a Stacked Column by drag-and-drop. Now you can add new dataset into the group of Stacked Column/Bar plot by drag-and-drop.



Graph Customization


Expand
titleSupport leader line for Pie chart label.

Show a leader line between pie slices and labels.

...

Expand
titleImprove Preview for patterns and filled colors

Hover mouse over a pattern block, the preview of this pattern will show.

Image Modified



3D Graphing Improvements


Expand
title3D XYZ Colormap Surface supports colormapping from another column.

In the past, we don't support this so user has to convert XYZ data and the coloring data into Matrix first since 3d colormapping surface plotted from matrix supports colormapping from another matrix object.


...

Expand
titleSupport no smoothing when set custom boundary for XYZ contour.

In Origin 2018, user can uncheck Smoothing checkbox when using Custom Boundary.

Before Origin 2018, the checkbox couldn't be unchecked so there was always some smoothing effect. Workaround: Set system variable @tcs=0 to minimize the number of smoothing data points



Expand
titleSupport Lighting effect for 3D walls plot.

Before Origin 2018, Lighting was only supported for 3D OpenGL based surface and 3d Bars.

In Origin 2018, we added the support for 3D Walls.

...

Expand
titleDrag on graph to move light source.

Hotkey S is added on 3D graph to move light source.

  • S key + arrow keys
  • S key + drag
  • S key with + to zoom in. S key with - to zoom out



Export Graph/Copy Page


Expand
titleDefine the region to export or copy page in Origin 2018a.



Origin 2018 Import and Export


Data Import


Expand
titleSupport Undo for Import ASCII, CSV, and Excel.
After importing either ASCII, CSV, or Excel, user can choose Undo from the Edit menu or Ctrl+Z to undo the import.

...

Expand
titleSupport Partial Row Import for Excel

Suppport Partial Row Import for Excel import tool, add Partiial Rows branch with five nodes under Options: Partial Import:




Data Export


Expand
titleIgnore hidden columns in ASCII Export.

Before Origin 2018, when exporting a worksheet as ASCII data, hidden columns were exported.

In Origin, by default hidden columns will be ignored and will not be exported.

To export hidden columns, set system variable @UHC=1. 



Copy Page / Export Graph


Expand
titleDefine the region to export or copy page in Origin 2018.



Origin 2018 Programming


Miscellaneous


Expand
titleLabTalk and OriginC  string functions can now operate on UTF-8 encoded strings.

Origin 2018 is Unicode-based with UTF-8 as the encoding method. For details on how this changes both LabTalk and OriginC text string processing functions, see this blog post:

http://blog.originlab.com/programming/labtalk-and-originc-changes-due-to-unicode-support-in-origin-2018

...

Expand
titleImprove Find and Find in Files in Code Builder.

Support User Regular Expressions and Append results in Find in Files dialog of Code Builder.

Image Modified



Expand
titleAllow graph object to be resized programmatically when horizontal and vertical movement is prohibited in Object Properties dialog.

Set system var @RRNM=1 to allow resizing when Disable Horizontal or Vertical Movement bits are set. (default is 0).

Image Modified



Expand
titleWarning when opening an opj which version is higher than your Origin

Implemented in Origin 2018. When opening an opj/opju which version is higher than your Origin, a smart hint show 

The file was created in a higher Origin version.
Some features may not be accessible.
It is recommended to upgrade your Origin to work on the file.

...

Expand
titleReminder Message about saving OPJ as OPJU
When user opens an OPJ file and later Save As, by default the format is OPJU, and we should open a reminder message box to inform them earlier version of Origin will not be able to open such files and allow Cancel, so file not saved.



Expand
titleStop shipping MOCA files
MOCA files are not shipped together with Origin 2018. If you need to build your MOCA DLL, please contact us: tech@originlab.com



Labtalk


Expand
titleOption to let graph source always plot all Y columns in worksheet.

With graph window active, run layer.group1.AllCols=1; in Script Window.

Then all Y data in the worksheet will be plotted and, as Y columns are added or deleted, they will be removed/added to the graph.

Note: This only applies to worksheet with XYYY... plot designation.

...

Expand
titleDiff() function supports padding in the begin or end of range.

Add optional argument to current function:

vec Diff(vec[,n]) //support length of vector is N

where n can be
0 default, output vector length is N-1
1, pad 0 at the end, output vector length is N
2, pad 0 at the beginning, output vector length is N
3, 1st value in v, diff(v,0), last value in v, output vector length is N+1

For example: Suppose there are 10 rows in column A and Set Column Values of B as

diff(A) – returns 9 numbers. No value in last row.

diff(A,1) – returns 10 numbers. 0 at the end.

diff(A,2) – returns 10 numbers. 0 at the beginning.

diff(A,3) – returns 11 numbers. The begin and ending values are original begin and ending values in A. In between are diff(A) values .


...

Expand
titleLabTalk Command to convert OriginC C and CPP files to become OCZ for distribution.

Syntax for the conversion command is is

file -ocz password srcpath destination;

srcpath can have wildcard in file name, and in this case destination must be a folder location and destination files will use source file name and extension changed to OCZ.
password must be between 2 to 20 characters and space is now allowed.

The Message Log will list each successful conversion and indicate at the end as "Done!" or "Failed!". If any errors occur, they will be displayed in a Messagebox.

For example:

file -ocz junk "%YOriginC\*.c??" "%Yabc"

file -ocz "aB12#$" "%YOriginc\test.c" "%Yjunk.ocz"



Expand
titleBetter LabTalk access to plotting X-functions.

The X-functions below can be run  via LabTalk to create graphs.

  • plot_paretobin
  • plot_paretoraw
  • plot_gboxindexed
  • plot_windrose
  • plot_gindexed
  • plot_lineser
  • plot_kde2
  • plot_prob
  • plot_matrix

For  example:

plot_gboxindexed irng:=col(A) group:=col(B) theme:="test";

...

Expand
titleSupport  -mfph switch for LabTalk Create command to create a hidden matrix from 2D loose datasets for 3D parametric function plot.

For example:

create myx -fp2 50 u 0 1 50 0 1;

create myy -fp2 50 1 0 1 50 0 1;

create myz -fp2 50 v 0 1 50 0 1;

create FuncRight -mfph myz myx myy "u,v";

...

Expand
titleLabTalk Save command updated to support new file format
  • save -i filename; //Save the active worksheet, graph, or matrix window to a file with new file format, file extension will be ogwu, oggu, ogmu 
  • save -ij filename; //Save the active worksheet, graph, or matrix window to a file with old file format, file extension will be ogw, ogg, ogm 
  • save -ik filename; //Save the active workbook as analysis template with the extension of ogwu 
  • save -ikj filename; //Save the active workbook as analysis template with the extension of ogw 
  • save -t windowName filename; //Save windowName into a graph or worksheet template with new file format, fill extension will be otpu for Graph, otwu for Worksheet
  • save -tj windowName filename; //Save windowName into a graph or worksheet template with old file format, fill extension will be otp for Graph, otw for Worksheet
  • save -di/-di1 filename; //Save the project as new file format with the extension of opju 
  • save -dij filename; //Save the project as old file format with the extension of opj 

Also, use option X to Save With Format Determined From Supplied File Extension. Following switches are supported, -ix, -tx, -dix.

For example, 

  • save -DIX %yMyProject.opj; //saves the project in the opj format with the name MyProject.opj
  • save -DIX %yMyProject.opju; //saves the project in the opju format with the name MyProject.opju
  • save -DIX %yMyProject; //saves the project in the opju format with the name MyProject.opju.



Origin C


Expand
titleAdditional dialog-related Win API functions

Support added for flashing dialog title bar, etc via the functions FlashWindowEx() and FlashWindow().

For example:

Code Block
FLASHWINFO st;
st.cbSize = sizeof(st);
st.hwnd = s_pMyDlg->GetSafeHwnd();
st.dwFlags = FLASHW_CAPTION;
st.uCount = 3;
st.dwTimeout = 0;

FlashWindowEx(&st);{code}

Support added for dialog alpha opacity via WS_EX_LAYERED constant and SetLayeredWindowAttributes() function. Only displays varied opacity for dialogs in Windows >= Win8.

Example code that can be added to a dialog class:

Code Block
EVENTS_BEGIN_DERIV(HTMLDlg)
	// Others events.
	OnActivate(OnActivate)
EVENTS_END_DERIV

BOOL OnInitDialog()
{
	HTMLDlg::OnInitDialog();

	HWND hwnd = GetSafeHwnd();

	// Add WS_EX_LAYERED to this window style.
	SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);

	// Make this window 60% alpha.
	SetLayeredWindowAttributes(hwnd, 0, (255 * 60) / 100, LWA_ALPHA);

	return TRUE;
}

void OnActivate(UINT nState, HWND hwndOther, BOOL bMinimized)
{
	HWND hwnd = GetSafeHwnd();

	if( WA_INACTIVE != nState )
	{
		// Window activated.
		
		// Remove WS_EX_LAYERED from this window style.
		SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~WS_EX_LAYERED);

		// Ask the window and its children to repaint.
		// Comment out if dialog flickers.
		RedrawWindow(hwnd, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
	}
	else
	{
		// Window de-activated.

		// Add WS_EX_LAYERED to this window style.
		SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);

		// Make this window 60% alpha.
		SetLayeredWindowAttributes(hwnd, 0, (255 * 60) / 100, LWA_ALPHA);
	}
}



...

Expand
titleOC to provide access to LabTalk LT properties on OriginObject

2018 will have general OC access to all the LT properties, this will include GraphObject, Column, Worksheet, etc

Code Block
cc()
{
	vector<double> vPos;
	vector<int> vColor;
	int n=0;
	GraphLayer gly = Project.ActiveLayer();
	if( gly.IsValid() )
	{
		vector<double> xx;
		foreach (GraphObject go in gly.GraphObjects)
		{
			if(go.GetName().Left(4)=="Line")
			{
				vColor.Add(go.GetProp("color"));//color is integeter, can directly return
				double xPos=0;
				go.GetProp("x1",&xPos);
				vPos.Add(xPos);
				n++;
			}
		}
	}
	return n;
}



...

Expand
titleOC CreateGraphObject() provides an option to replace existing

Add a bit, GROBJ_REPLACE_EXISTING,for  CreateGraphObject() to replace existing

Code Block
void aa(double xx, int nColor, string strName = "line")
{
	GraphLayer gly = Project.ActiveLayer();
	GraphObject goLine = gly.CreateGraphObject(GROT_LINE, strName, GROBJ_REPLACE_EXISTING);
	goLine.SetProp("attach", 2);
	goLine.SetProp("direction", 2);//vertical
	goLine.SetProp("x1", xx);
	goLine.SetProp("y1", 2);
	goLine.SetProp("y2", 8);
	goLine.SetProp("color", nColor);
	goLine.SetProp("arrowEndShape",1);
}


...

Expand
titleDynaControl to Allow Multiple Controls in One Row

Dialog can have multiple controls in one row now.

Image Modified

Code Block
#include <GetNbox.h>
void GetNBoxMultiColumn()
{
	GETN_TREE(tr)
	//1 col
	GETN_BEGIN_BRANCH(PartImp0, "Branch0")   
	GETN_CHECK(Save, "Save Temp Files Save Temp Files Save Temp Files", false)
	GETN_CHECK(Save, "Save X Files Save X Files Save X Files Save X Files", false)
	GETN_CHECK(Save, "Save Y Files", false)
	GETN_CHECK(Save, "Save ABC Files", false)
	GETN_CHECK(Save, "Save CDE Files", false)
	GETN_CHECK(Save, "Save Junk Files", false)
	GETN_END_BRANCH(PartImp0)


	//2 columns
	GETN_BEGIN_BRANCH(PartImp, "Branch1 ++++++++++++++++++++++++++++++++")   GETN_MULTI_COLS_BRANCH(2, 0)
	GETN_CHECK(Save, "Save Temp Files", false)
	GETN_CHECK(Save, "Save X Files", false)
	GETN_CHECK(Save, "Save Y Files", false)
	GETN_CHECK(Save, "Save ABC Files", false)
	GETN_CHECK(Save, "Save CDE Files", false)
	GETN_CHECK(Save, "Save Junk Files", false)
	GETN_END_BRANCH(PartImp)
	
	//1 column
	GETN_BEGIN_BRANCH(PartImp2, "Branch2")
	GETN_CHECK(Save, "Save Temp Files Save Temp Files Save Temp Files", false)
	GETN_CHECK(Save, "Save X Files Save X Files Save X Files Save X Files", false)
	GETN_CHECK(Save, "Save Y Files", false)
	GETN_CHECK(Save, "Save ABC Files", false)
	GETN_CHECK(Save, "Save CDE Files", false)
	GETN_CHECK(Save, "Save Junk Files", false)
	GETN_END_BRANCH(PartImp2)

	//3 columns 
	GETN_BEGIN_BRANCH(PartImp6, "Branch6")
	GETN_BEGIN_BRANCH(PartImp5, "Branch5 **********************************************************************************************") GETN_MULTI_COLS_BRANCH(3, 0)
	GETN_COLOR(FitCurveColor, "Fit Curve\n color", 1)
	GETN_COLOR(FitCurveColor, "Fit  color", 1)
	GETN_COLOR(FitCurveColor, "Fit Curve\n color", 1)
	GETN_COLOR(FitCurveColor, "Fit color", 1)
	GETN_COLOR(FitCurveColor, "Fit Curve\n color", 1)
	GETN_COLOR(FitCurveColor, "Fit  color", 1)
	GETN_END_BRANCH(PartImp5)
	GETN_END_BRANCH(PartImp6)

	//3 columns 
	GETN_BEGIN_BRANCH(PartImp7, "Branch7 *************************************************************************************************") GETN_MULTI_COLS_BRANCH(3, 0)
	GETN_STR(FitCurveColor, "Fit Curve\n color", "STR1")
	GETN_STR(FitCurveColor, "Fit  color", "STR1")
	GETN_STR(FitCurveColor, "Fit Curve\n color", "STR1")
	GETN_STR(FitCurveColor, "Fit color", "STR1")
	GETN_STR(FitCurveColor, "Fit Curve\n color", "STR1")
	GETN_STR(FitCurveColor, "Fit  color", "STR1")
	GETN_END_BRANCH(PartImp7)


	GETN_BEGIN_BRANCH(PartImp8, "Branch8 ") GETN_MULTI_COLS_BRANCH(2, 0)
	GETN_STR(FitCurveColor, "Fit Curve\n color", "STR1")
	GETN_STR(FitCurveColor, "Fit  color", "STR1")
	GETN_STR(FitCurveColor, "Fit Curve\n color", "STR1")
	GETN_STR(FitCurveColor, "Fit color", "STR1")
	GETN_STR(FitCurveColor, "Fit Curve\n color", "STR1")
	GETN_STR(FitCurveColor, "Fit  color", "STR1")
	GETN_END_BRANCH(PartImp8)
	if( GetNBox(tr, "Get Path", NULL, NULL, NULL) )
		out_tree(tr);
}


...

Expand
titleOrigin C compiler Must Handle UTF-8 Source Files

In Origin 2018, we support executing UTF-8 files in Code Builder.

1. All code files (*.c, *.ogs etc.) Origin ships (so it is placed EXE folder) is kept as ANSI.
2. When create a new empty code file, it is also ANSI. However, when saving, we will pop up msg to ask to if save as Unicode when Unicode characters appear.

This file contains characters in Unicode format which will be lost if you save it as an ANSI encoded file.
Click Yes to save as Unicode (UTF-8) encoding format.
Click No to save as ANSI.



HTML Dialog Programming


Expand
titleProvide format option to convert variables in OC to string in html

Add a parameter in JSON.ToString( ), which converts variables in OC to string in html with full precision, to specify format

Code Block
struct TestObj{
float ff;
double dd;
string str;
};

void test_json()
{
	TestObj obj;
	obj.ff = 1.234567890123456789;
	obj.dd = 1.234567890123456789;
	obj.str = "3.1415926";
	string strJSON1, strJSON2;
	OCJSONToString params;
	params.szFloatFmt = ".2";
	JSON.ToString(obj, strJSON1);
	JSON.ToString(obj, strJSON2, &params);
}


...

Expand
titleChange the z-index of controls

Enable popping up a message in an HTML dialog, it should be on top of graph control . Download the zip file below to see the sample codes

View file
nameAlert on graph.zip
height250



Expand
titleShow icon in the title bar of app dialog

Two new member functions are added to OC Window class:

Code Block
HICON Window::SetIcon(HICON hIcon, BOOL bBigIcon = FALSE);
HICON Window::GetIcon(BOOL bBigIcon = FALSE);

A new util function is also added to make it easier to set the icon from given icon file:

Code Block
HICON set_window_icon_from_file(HWND hWnd, LPCSTR szIconPath)

See below for the example of setting the icon of the HTML app dialog:

Code Block
BOOL CMyHTMLDlg::OnInitDialog()
{
	HTMLDlg::OnInitDialog(); // Call base class.
	
	string strIconPath = __FILE__;
	strIconPath = GetFilePath(strIconPath) + "test.ico";
	set_window_icon_from_file(GetSafeHwnd(), strIconPath);
	return TRUE
}

...

Expand
titleHTML dialog support IE version checking
All HTML dialog and HTML based App support IE version checking to avoid Javascript errors when IE Ver < 9



Origin 2018 Worksheet


Expand
titleWorksheet Cell Formula.


...