Origin 2018b Features

Top Features

  • Preview of Workbook in Project Explorer and Windows Explorer.
  • Add Matrix Book as an Embedded Sheet in Workbook.
  • Enhanced Master Page Menu supports quickly setting up and applying Master Page elements such as logos and timestamps to all graphs.
  • New Fit Layers to Page and Set Scale Factor tools to adjust all layers to have a tight fit to page with the current display font kept.
  • Customize All or Multiple Layers in a Graph with Consistent Display.
  • Active Window Indicator.
  • Backup folder and individual backup file for each Project.
  • Improved Audit Log functionality allows Audit Log to be automatically turned on for all newly-created projects (for consistent project management).
  • New Python API.
  • New Apps including Distributed Batch Processing and others.

Origin Interface

JIRASUMMARYDETAILS
ORG-17653

Active 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 = 0; // 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


@AWC is for indicator color as an RGB integer.

For example:

@AWC=color(255,0,0);
ORG-17775How to control which window display in File Explorer thumbnail and Preview

System Variables:

@SPM=1, PriorityMatrix

@SPM=2, PriorityWorksheet

@SPM=3, PriorityHolderImage

@SPM=4, PriorityMatImage

@SPM=5, PriorityHolderGraph

@SPM=6, PriorityGraphNotOpen

@SPM=7, PriorityGraph

where "Holder" refers to a Graph or Matrix added to a Workbook as a Sheet, and if a Matrix, View must be Image Mode (View: Image Mode).

The variable determines if a given window type will be elevated to "Must Use if Active".

The value of @SPM is stored in the Windows registry and will persist across Origin sessions until it is again changed.

ORG-17633Extra large icon view for workbooks and matrices in Project Explorer and Windows File Explorer
  • Extra large icon view and Preview of workbook in Windows Explorer.
  • In Project Explorer, Extra large icon view and tooltip.
ORG-17947Hide preview of OPJU with password protectionIf user uses Tools: Password Protection to set password and then save the OPJU, preview of the OPJU will be hidden in Windows Explorer.
ORG-17929Show both Long Name and Short Name in List and Icon Views in Project Explorer

In the past, if there was long name in window, only long name showed in List or Icon views of Project Explorer. In Origin 2018b, you can check Show Long and Short Names to both names. 


ORG-17976Support more numeric format like Excel
  • #5
  • Percent: #%, #.00%

     

  • Proper fraction # ##/##, # #/8, # #/4, # #/10, etc. and Improper fraction #/#, #/4, #/10, #/100. ##/##, etc.

     

  • Degrees, minutes, seconds (DMS), D MS, DM, DMF

     

ORG-17606

ORG-17639

Add Matrix as a Sheet in Workbook, Allows for Analysis Templates to include image or matrix data in a single book.

To support an analysis template which contains both workbook and matrix, everything must be in one workbook.

So in Origin 2018b, we allow user to right click a workbook tab and choose Add Matrix as Sheet context menu. 

This actually adds the whole matrix book as a sheet in workbook. You can double click the matrix to open the matrix again.

ORG-17804Plot menu icon size can be scaled by a factor from 0.5 to 2Use 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, Graph object

JIRASUMMARYDETAILS
ORG-17379Scale factor for fill pattern entries in legend. Applies only to Geology patterns.

For example, code

 \L(1, PatternScale:p200) 

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

ORG-17496More flexible color scale object, including arbitrary color scale
  • show color scale for 2d plots colors.
  • show an independent color scale.
ORG-17094
System variable to control double-click legend behavior
@LDC=1 -- Double clicking legend opens Properties dialog
@LDC=0 (default) - Double clicking legend goes into in-place edit mode (old behavior in versions before Origin 2018)
ORG-17377More controls added to Bubble ScaleAdd Bubble Edge Thickness in Layout tab.
ORG-17148Pie Chart label supports Apply to layer etcFor labels with object name begin with PIE, all the properties except position, text content and programming will support apply to layer/window/folder/project/plot/grouped plot.
ORG-17284Support for label to be attached to data or error barWe 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.
ORG-17788No limit for characters of tick labels

ORG-16423

Improve arrow object control

Introduce system variable @LCAS, with default value=1. It is used to toggle between sharp arrow and round-head arrow.

0 = round-head arrow, old behavior
1 = sharp-head arrow

ORG-17157

Hotkey Ctrl+Shift+Drag to duplicate the annotation object to another data point and add visual feedback when moving annotation


Plot Manipulation

JIRASUMMARYDETAILS

ORG-17878

Support Tagging Sheet as Exclude from Plotting Dialog

Some users have a lot of worksheets in project. And it's hard to select which sheet to plot.

In Origin 2018b, User can exclude some worksheets from showing in Plot Setup and Layer Contents dialogs by right clicking worksheet(s) and tag as "Exclude from Plotting Dialogs". 

ORG-17426Easier way to show/hide error bars and data labels from Object Manager

ORG-14451Rename Plot Groups instead of just using g1, g2, ... in Object Manager

Right click g1, g2, ... node in Object Manager to give a meaningful group name. 

Such group name will show in

  • Layer Contents dialog as tooltip
  • Data menu
  • Context menu when right clicking on graph

ORG-17402

Support for grouping and ungrouping of data plots in Object Manager

In Object Manager,

  • Right click group node, e.g. g1 to Ungroup.
  • Right click a plot that doesn't belong to any group and Set as Group Begin. Then Origin will find all consecutive plots below it that have same plot type and group them.

ORG-17704Support line style customization for vector graphSupport Line Style option for vectors in polar graph. You can customize the line style through Plot Detail or button.
ORG-16574Option to ignore blank data when deciding column bar plot spacingAdd a checkbox Ignore Missing Data for Column/Bar Width in Graph level's Display tab, so column/bar plot's spacing width will ignore missing value once it's checked.
ORG-17049Allow displaying reference lines on top of data
  1. Add check box in Display tab of PD at Layer level: "Reference Lines on Top of Data"
  2. Add right-click context menu entry to Axis: "Reference Lines on Top of Data"

ORG-17058Support for Stacked Column and 100% Stacked Column plot types in Trellis PlotAdd Stacked Column, Stacked Bar,100% Stacked Column, 100% Stacked Bar to Trellis plot xf dialog Plot Type drop-down list.
ORG-17159Auto option added Colormap rescale modes Auto is added to list of Rescale modes in colormap tab of Plot Details.
ORG-16895Support Box Chart in Trellis Plot to provide easier way for controlling box charts arrangements from grouped data.
  • Support Box Chart with Panel
  • Enable By Point tab for box chart color and pattern
  • Add Box Chart to Plot Type combo of plot_group
ORG-17627Improve Handling of Date/Non-Categorical Grouping Data in Indexed Group Box PlotBetter support Date/Non-Categorical Grouping Data in Indexed Group Box Plot

Graph Page and Layer

JIRASUMMARYDETAILS

ORG-17707

Fit 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.

ORG-17882Better legend position when Fitting Layers to Page

Add the option -L to the page -FLS command

page -FLS -L; //fit layers to page so as to leave room on the right side for the legend. No gap between layer and legend.
page -FLS -L 0.03 -m 0.04 //fit layers to page, with space (3% of page) btween layer and legend, margin on edge of page is 0.04.
To use the -L option, the following must be true:
  • Graph contains a single layer.
  • There is one (and only one) legend object.
  • Scale Elements (Format: Layer Properties > Display tab) must be Fixed Factor.

ORG-17823Keep Aspect Ratio check box at Page level, to resize page

This allows user to specify desired page width for publishing, and Origin can then scale the height accordingly to keep the aspect ratio, if this check box is checked.

All elements in the graph will be scaled such that they "appear" the same in the final graph in terms of relative dimensions such as font size etc. MAY NOT work fully yet for elements such as color scale, and for 3D graphs.


ORG-17749New LT command to force all layers to have scale factor fixed but keep the look

Select menu Graph: Fix Scale Factors...to open dialog, and you will allow to set all layers to fixed scale factor value and maintain current look.

LabTalk command is also available,

ORG-16780

Customize Layer/Plot/Axes properties across all ayers

By checking what you want to customize together on Layers tab of Page level of Plot Details dialog, and then go to a layer to customize settings, all layers will be customized together.

ORG-17570

Easier 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.



ORG-17052

Enlarged graph using scale-in tool supports multiple overlapped layers


If layers are linked with 1:1 X axis and area, choose Scale In toolbar button and click in graph to create enlarged graph. Plots in all linked layers show in enlarged graph.

 

ORG-16861Integrate Gadget now supports marking of Fill Area under multiple curves
ORG-17617 Improve 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.

ORG-17840Page size change to keep same look

Automatically scale all elements similar to the work with fix scale factor.

System variable @PSM controls the minimum change to trigger size update.  Set @psm=100, elements will not resize when changing page size.

3D and Contour

JIRASUMMARYDETAILS

ORG-16671

Added Connect Control for 3D Waterfall. 

Before Origin 2018b, 3d waterfall can only be plotted as straight lines. To have spline, etc., user had to plot as 2D Waterfall.

ORG-16558Support total label for 3d stacked column/bar plots
ORG-15881 Support more 2D arrow shapes in 3D graphs
ORG-17067 Support 2D annotation for 3D scatter plot.
ORG-17060 3D XYZ bar graph supports customization of individual barsCustomize pattern, color and labels
ORG-17466 Improve preview of 3D OpenGL graphs in dialogsBetter preview in our export graph dialog
ORG-17697

Support <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.

ORG-17476

Contour Profile/Image Profile ImprovementsAdd a Default settings button in Image/Contour Profile dialog. Clicking it will open Default Settings dialog. You can customize Legend Preferences(by Width or Value), Profile Quantity(will only show when source data is virtual matrix and matrix) and Output Profile Data( will only show when source data is virtual matrix)

Axis

JIRASUMMARYDETAILS
ORG-17623Extend arrow at end of axis to show outside of the layer limitUser can set offset of axis arrow so the arrow head is longer than original axis.

ORG-17136

Apply changes to axes immediately from secondary dialogs that pop up1. If user clicks Details button to open secondary dialog, the main dialog will be hidden.
2. Changes on main dialog will not be applied to graph but still remembered.
3. On Secondary dialog, there is Apply button. Click it will apply changes on secondary dialog only.
4. Click OK will apply and close the secondary dialog and main dialog will open again.
ORG-17624Added Alignment/Positioning options for Axis Titles with respect to axis positionAdd an new option Offset Relative to Axis: Middle, Begin, End  in Axis dialog Title tab.
ORG-17164Added Rescale Axis option to axis context menu

Depending on X, Y or Z axis you click, Corresponding Rescale Axis context menu will show

ORG-2964

Rescale axes of linked overlapping layers

Rescale to show all only rescaled the axis range of current layer in the past. In Origin 2018b, it will take care of linked overlapping layers. Usually Multy-Y plots have such linked overlapping layers. E.g. on one layer, data range is from 2000 to 2005. On the other layer, the data range is from 2001 to 2006. 

Registry based System variable @RML (Rescale Multiple Layers) 

1 – rescale multiple layers

0 - rescale active layer only (old behavior)

Analysis

JIRASUMMARYDETAILS

ORG-17385

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

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

ORG-17614

Fitting: Accuracy of p-value has been improved in nonlinear fit results.

Calculate the P value more accurately for tcdf and fdcf significance levels in Nonlinear Fitting Tools.

Change code to calculate P value for tcdf and fcdf in fitting tools for significance

ORG-16680FittingTwo new implicit fitting functions added for diode and solar cell dataThe SolarCellIV and ModDiode fitting functions are added in the Implicit Category.
ORG-16540FittingImplicit Function now support IntegralSupport to define Implicit Function with integral in the Fitting Function Organizer and Fitting Function Builder
ORG-17236FittingSample Curve and Equation Preview images are included when transferring FDF files from older version.Transfer User Files tool can now transfer also (if present) the picture files for the formula (.wmf) and the picture files for the sample curves (*.cuv) with fitting function file (*.fdf).
ORG-14736Peak Analysis:  New method for peak detection: Fourier Self Deconvolution

ORG-12869Statistics: PCA Loading plot and Biplot support improved plot labelingPrincipal Component Analysis: Loading plot and BiPlot use the latest design: plot label tab in Plot  details dialog, and update Axis Labels "Principal Component 1" to be "PC1", add the value of "Percentage of Variance" to the Units label 
ORG-10828Statistics: Frequency Count/Binning tool supports output format such as: 0-10, 10-20, etc.

2D Frequency Count/Binning output sheet creates 4  type columns ahead with following LongName: Bins of A, Bin Beginnings of A, Bin Centers of A, Bin Ends of A and create 3 label row : Bin Beginnings of B, Bin Centers of B, Bin Ends of B.

Frequency Counts output sheet creates 4  type columns ahead with following LongName: Bins, Bin Begin, Bin Centers , Bin Ends.

ORG-16974Statistics: Hidden column will be ignored when computing statistics on rowsHidden column should be ignored if do statistics on rows and other statistics tools
ORG-16287Statistics: Stats on columns and rows will carry over Units from the source datasetsStatistics on columns/Statistics on Rows, the result value will carry the same Unit as the source datasets.
ORG-17380Signal ProcessingUnit description added to metadata of STFT resultSupport unit output in worksheet result of STFT.
ORG-17267

Better hint indication when run Pro-only features in Regular version

1. In Regular Origin, if the project contains pro-only operation, the analysis clock will show in gray color.

2. In Regular Origin, if the project contains pro-only operation and users click the recalculate toolbar button, there is a warning message shown in Message Log window.

Worksheet and Data Processing

JIRASUMMARYDETAILS
ORG-16509

Support 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.
ORG-17477

Copy and paste entire worksheet across multiple Origin sessions.

Right-click on the sheet tab, two new context menu items are available.

  • Copy Sheet
  • Paste as New Sheet

Use Copy Sheet to copy current sheet with all information(including the header lines and structure) into the clipboard, and then use Paste as New Sheet to paste it as a new sheet from the clipboard into a new layer or new window.

LabTalk command is also provided,

clip -cs; /// copy active sheet
clip -ps; /// paste sheet to active book from clipboard, if possible
clip -psn; /// paste sheet to new book from clipboard, if possible

ORG-17285

Support more options when Copy Columns to

Copy Columns to is a useful way to copy columns from one sheet to other sheets and keep the linking. But some settings in source columns are not copied. Added in Origin 2018b.

ORG-17796Stack Columns tool will maintain column plot designation for Other columnsKeep column plot designation for other columns in the Stack Columns result.
ORG-16407Stack Columns tool check numeric for group identifier label rowIn Stack Columns, choose a label row as Group Identifier, then Origin will check if all value is numeric and not set it as categorical in the result.
ORG-16882Support Excel column notation in condition string for Counif() functionFor Averageif(), Countif(), and Sumif() function, you can use Excel column name in condition string argument now. E.g,
countif(a, "A>0") //Before Origin 2018b, must use countif(a, "col(A)>0")

Also, the performance of these functons is improved.

Importing

JIRASUMMARYDETAILS

ORG-16604

CSV 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
ORG-17662MDF Import: Significant improvement to speed of MDF ImportTested with very large MDF file provided by user. It used to take more than 1 hour to import the data. In Origin 2018b, it takes only about 1 minute.

ORG-17701

ASCII Import:

Auto determine headerlines by leading characters in Import ASCII and Import Wizard

Origin's auto determine header line may not work well for all user's data.

One example is user wants to import files by removing all lines that start with # character.

In sush case, uncheck Auto Determine Subheader lines and then choose By Leading Character option and specify a leading char under Header Lines node in ImpASCII dialog. This option is also available on Header page of Import Wizard.

ORG-17791 P1Import 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.
ORG-17791 P2Import 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.


ORG-17763

Improvements 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.

ORG-17648Partial Column Import in impBRUKER dialog

Partial Import node is added in BRUKER OPUS import dialog to import part of columns.

ORG-17562impcsv always import data from specific columns range since Origin2018

Added a system variable @IAR for  impCSV and impMSExcel import tools, when Highlight a column to import CSV or Excel file:

@IAR=1(default): Import data from CSV or Excel file from the first column.

@IAR=0: Import data from CSV or Excel file into the highlighted column.

ORG-17036Support the import Excel theme created from old version

Support using import Excel themes from old versions in Origin 2018b, before using the old theme, need to run some scripts to convert it.

run.loadoc("originlab\theme_convert.cpp", 16);//Run this script to load the convert theme function.

and then:

  1. theme_file_convert_for("impExcel", "impMSExcel", "import_injekt_excel") //Convert single impExcel theme to impMSExcel theme.
  2. theme_file_convert_for("impExcel", "impMSExcel") ortheme_file_convert_impexcel_to_impmsexcel() //Convert all impExcel themes to impMSExcel themes.
ORG-16460Start New Sheet import mode should extend to allow more sheetsMaximum number of sheets in one book is 1024, so when Start New Columns to import more than 1024 files, will automatically create new book for importing later files if number of sheets in current Workbook arrives 1024.
ORG-15752Clone Import should trigger recalculationClone Import will trigger recalculation, even though the Recalculation is Manual.
ORG-6175More wav format wanted
  1. impWav supports importing 24bit .wav file.
  2. impWav supports importing multi-channel .wav file.

Exporting and Presentation

JIRASUMMARYDETAILS

ORG-17755

Option 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.
ORG-17252Export graphs with PE folder name included in the name of the exported fileWe introduce a new keyword like <PE parent1> which refers to the immediate parent folder name.
We can for now support up to 3 levels, so we will support <PE parent2>&<PE parent3>, but show only <PE parent1>-<long name> on GUI for now.
ORG-17801

New menu and improvements to quickly set up and apply Master Page elements such as logos and timestamps to all graphs.

New menu item to open and customize Master Page and apply to all graphs.
 

ORG-17567

More 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.

 ORG-16813 Little Dialog to control Margin Offsets

When choosing Edit: Export Margin Offset,

1. Show width and height of selected area with unit of page.
2. Enable the rectangle to be draggable and resizeable all of the time

 ORG-16846 Improve Copy Page for Embedded Graphs Embedded/floating graph can be copied as actual Graph, but not an EMF.
ORG-17790Export ASCII to support ignore empty columns

Add a checkbox named as "Ignore Ending Empty Columns", to control ascii export, to ignore empty columns from the end, with the following options:

0 = no ignore (current way, default)

1 = ignore all empty columns after the last column with data, meta data not considered, and column with all missing values are considered empty.

This is used only if export selection is not chosen.

Batch Processing

JIRASUMMARYDETAILS

New 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.
ORG-17383Save Batch Processing dialog settings into Analysis Template

When using an Analysis template in Batch Process dialog, the batch processing dialog settings will be saved into the analysis template so that the next time this analysis template is loaded in Batch Process dialog, no need to set batch processing setting again. 

A system variable @bst is used to control the behavior.

0 : always no save settings;
1 (default): always save settings;
-1: pop up msg to ask.


ORG-17526Some rule changes to batch processing

We tend to have no dialogue, no interaction, in batch process. So the rule of batch process now becomes to:

  1. Before doing any batch process, user must make sure the input files format should be match with the last import settings in .ogw or filter in UFF.
  2. Last import setting must be used when check on "Use Import Setting in Workbook". filter file will be used when uncheck "Use Import Setting in Workbook".
  3. when filter is used, the proper filter should match: a. input file extension must be match with filters setting. b. filter file format must be match with last import settings in ogw.

Once user make analysis template with import ASCII, that means the template is only used for ASCII file. If user want to it for other type file, they must import another file from MENU and save analysis template again.

ORG-15328

Support to add data from many sheets/books into a combined graph or an existing graph

  • Add data from many different sheets/books into an existing graph
    • E.g. After plotting a multiple panel graph with data in one worksheet/book, user wants to add data from other sheet/book to same graph. 
  • Add data from many sheets/books into a combined graph.
    • After plotting a complicated graph with data in one book with several sheets, user wants to create a similar new graph with all data in another book with different number of sheets
ORG-17656

Batch 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.
ORG-17657Allow 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

JIRASUMMARYDETAILS
ORG-17810Improve Project Backup Mechanism
  • Each Origin project will have its own backup file.
  • Set system variable @PBO=0 to go back to old behavior. Only one Backup.opj/opju under User Files folder for last saved project file.
  • Access Project Backup Folder via Help: Open Folder: menu in Origin or from Windows Start menu.
  • Change Backup folder location on System Paths tab of Tools: Options dialog.
ORG-17263Autosave is now available for Untitled.opj

In the past, you must have project saved once in Origin and then if it's dirty, every 12 minutes (by default), the project will be autosaved in case Origin crashes. But sometimes user started a new project and had never saved it. Then Origin didn't autosave it at all and if Origin crashed, there was no autosave. 

Note: If Origin is closed normally, no autosave will be kept since Origin always prompt user to save.

ORG-17471Option to default to old OPJ format for saving projectsA 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
ORG-17295Save files to or open files from Google DriveLocation of TempSave folder has been moved into a subfolder in ProgramData folder to avoid conflicts with Google Drive. Also, Origin better handles cases where user's Documents folder is located on a network drive.
ORG-17786Customer Report on OPJU issuesCustomer‘s OPJU Crashing on load. 
ORG-17409Bottom 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. 

ORG-16878


Optional better handling of worksheet with large number of sparklines that may slow down opening projects.

When a worksheet contains sparklines, prior to Origin 2018b, all sparklines had to be drawn on project loading even if they were not visible. This slowed down initial rendering of the worksheet significantly.

A new system variable in 2018b addresses this issue by specifying how Origin should save EMF images of the sparklines:

@SIC=
0 Save all sparkline images in the OPJU.
-1 Don't save any sparkline images in project.
7000 (Default) If individual sparkline is < 7000 bytes then save it in the project.

Note: This system variable is persistant- it will be remembered across Origin sessions. It should be set from the Script Window or Command Window and not in the System Variables dialog.

ORG-16878Optional faster rendering of graphs when many are shown at once and/or overlapped

When many graphs are shown and/or overlapped, complete rendering (painting) of all of them may take a considerable amount of time if the graphs contain a lot of data. Up until Origin 2018b, each graph had its own setting specifying that if 70% of the graph is covered it would not repaint. Now in Origin 2018b there is a system variable to change this behavior on a global basis.

@NPP=
0 (Default) Use existing setting in graph- same as old behavior.
1-100 Percentage that must be uncovered before repainting is triggered.
>100 (e.g.101) Only repaint the currently active graph. Do not attempt to repaint other graphs.

Note: This system variable is persistent- it will be remembered across Origin sessions. It should be set from the Script Window or Command Window and not in the System Variables dialog.

ORG-17854

Improvements on Converting to Scientific Notation

Some improvements are made:

  • Suppose Upper Threshold to convert to scientific notation is 6. In the past, 1000000 displays as 1000000, while 2000000 displays as 2E6. In Origin 2018b, 2000000 will still display as 2000000. Only values equal or bigger than 1E7 will convert to scientific notation.
  • There was some round off error in the past. To see the problem: Suppose Lower Threshold Power to convert to scientific notation is -3. In the past if the axis is from 0.001 on 10, it will display as 0.001 fine. If axis is from 10 to 0.001 (axis decreases), 0.001 showed as 1E-3. Fixed in Origin 2018b now. Shows 0.001.

Gadgets

JIRASUMMARYDETAILS
ORG-16868Support Plot Range for Dataset Identifier for GadgetsAdded option "Plot Range" in the Dataset Identifier drop down list in all gadgets which have the combo.
ORG-17309Cluster Gadget supports clearing category information

Programming

JIRASUMMARYDETAILS

ORG-17642

LabTalk 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 
ORG-17750LabTalk: Skip Columns when Plotting and after Plotting

-pc option is added in Worksheet and Set commonds.

//to make plot woksheet -pc plottype template startIndex Increment;
//to modify, %C will need to automatically find group head set %C -pc startIndex Increment
If Increment is a negative number e.g. -N, it means span and plot N plots.

Examples:

Highlight all columns and run
1. worksheet -pc 200 line 2 3 //start from col B, every 3rd col is plotted so i got B, E, H, K, .... in graph.
2. worksheet -pc 200 line 2 -10 //start from column B, span the whole data and pick 10 columns to plot. I got B, O, AB, AO, BB, BO, CB, CO, DB, DO columns plotted.

First plot all data. With graph window active, run
1. set %c -pc 2 3; //start from column B, every 3rd col is plotted.
2. set %c -pc 2 -10; //start from column B, span the whole data and pick 10 columns to plot. I got B, O, AB, AO, BB, BO, CB, CO, DB, DO columns plotted.

ORG-16968LabTalk:  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")


ORG-17752LabTalk: LabTalk Hex related functions to handle bigger values
  • Improve hex2dec(), hex() functions to support 48 bits integer
  • Support "0x" prefix. E.g, hex2dec("0x10A") returns 266
  • Dec2hex() function support places argument. E.g, Dec2hex(10,3)$ returns "00A"
ORG-17047LabTalk: LabTalk function to converts text to a number

Syntax:

NumberValue(str$[, decimal$, group$])

ORG-17369

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

ORG-16946

OC: 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;
}

ORG-14663

LabTalk: 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.

 ORG-17687 LabTalk: New command to remove dividers 

 Labtalk command to remove divider:

page -ADX -<opt> dividerindex;


Labtalk command to restore dividers:

page -ADGR;
ORG-16425X-Function: findFiles x-function now supports recursive folderNew variable "recursive" is provided, can set value to 1 to find the files in the recursive folders.
ORG-16672X-FunctionMore output options for mstats xf1. add variable i1/i2 to XF quantiles for worksheet;
2. add variable x1/y1/x2/y2 to XF mquantiles for matrix.
ORG-16499

Python: API for calling Origin from outside Python

The module name is OriginExt, and only applicable for Python 35. Use pip command to install in Windows Command Line.
ORG-17419OC: Added 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; }
ORG-17066OC: Functions for  Batch PlottingAdded 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.


ORG-17817OC: function for Code Builder File Access

Added a new OC function:

BOOL CBFileOpen(LPCSTR lpcszFileName, LPCSTR lpcszSectionName=NULL, int nCntrl = CBF_OPEN);

lpcszFileName: File path and name.

lpcszSectionName: Specify a section you want to go.

nCntrl:

  • CBF_OPEN: Open the file in Code Builder.
  • CBF_TEST_IS_OPEN: Check if the file is opened in Code Builder.
ORG-17722OC: Need better support for accessing embedded matrix via LabTalk and OriginC

Added a new OC function:

int Worksheet::IsHolderSheet(PageBase& pg = NULL);

Check if the Worksheet is embedded page.

ORG-15771LabTalk: Getting the information about the cell link that is in a cell with labtalk

Imporve cell() function to return cell link imformation

  • cell(row,col,1): return cell link type
  • cell(row,col,1)$: return the raw reference string

ORG-17435

Labtalk:  function Unique() to find unique members of a column in SCV

Unique(vs, [sort, occurence])

E.g.

Unique(A) – get unique value/strings in column A with ascending order

Unique(A, 2) — get unique values/strings in column A with descending order

Other

JIRASUMMARYDETAILS
ORG-17378Support for naming of custom colors
In Colors dialog which is used to create custom color, a Name box is added to allow user to give the color a name.
ORG-17078Allow using English date format in Chinese/Japanese language setting

This will be useful for user who want to keep using English date format in C/J version

  • rename current "Use English in Reports" into "User English in Reports and Graphs" in change Language dialog
  • Add User English in Reports and Graphs checkbox in Numeric Format tab of tools options dialog
ORG-16252Support auto install of fitting function and origin template when installing opx
  1. Fitting function file(*.FDF) and origin template(*.otpu,*.otwu,*.otmu,etc) will be also installed after installing opx
  2. Install Support Files is removed from package manager dialog.
ORG-17202Installed Apps can be updated automatically to make sure they are always the newest versionTo make sure the installed Apps are always the newest version, user can turn on App Auto updating by setting @AUA = 1 in system variable dialog.
ORG-13536Cell-Embedded image supported when saving Matrix BookAfter insert an image file to a worksheet cell, double-click on it will pop up a matrix window, and convert the cell type from "LBmp" to an embedding matrix.
ORG-17187Option to bring the newly pasted graph object to front
ORG-17218Easier way to modify symbol shape for special pointWhen 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
ORG-17431Fix Window Properties dialog, GetN Graph preview dialog, and Peak Analyzer dialog show incompletely in High DPI or low resolution
ORG-14705Set Group Folder Location should not require run as admin
ORG-17615Hotkey Ctrl+D to control show tooltip or not
ORG-14614

Add a new option to Object Manager

Right click the empty area or Graph level in Object Manager to switch view in order of Appearance or View in Drawing Order.