Origin 2023b Features

Graphing

New Graph Types

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25971

3D Double-Y/Z

Support double-Y/Z for XYY 3D bars, 3D wire, 3D wall, 3D waterfall, 3D ribbon, 3D scatter, 3D bars.

In Plot Details dialog, plot properties level, go to display tab, there is Plot Data on.

For grouped XYY 3D bars/ XYZ 3D bars plot, when stack is enable, each subgroup should have one plot data on option.

But, when Stack = cumulative or incremental, we can show plot data on option for all plots in group when following conditions are all met.

  1. Offset within subgroup is selected

  2. enable subgroup = by axis

ORG-25972

Sankey Map

Plot Sankey Diagram with longitude and latitude XY and then insert map as background

Plot: Categorical: Sankey Map menu. (Mouse over it to see data requirements, 6 columns)

After plotting, use Insert: menu to add a built-in map or add a custom map, shape, or image.

Use the layer level Mini toolbar to set Isometric so the map is proportional to real map

Use the graph level Mini toolbar to Fit Page to Layer.

Use Plot Details to customize node, link, and labels. Ctrl + double click to edit one link is supported.

For map added by Shapefile or our built-in map, use the Plot Details to set fill color of the map.

 

ORG-26308

Stacked Bar Map

Support Stacked Bars or 100% Stacked Bars on Map

Stack and Normalize to Percent checkboxes are added On Map tab of Plot Details dialog to turn Bar Map into Stacked Bar Map. Use Maximum Height to adjust the total height.

 

ORG-26407, ORG-26717

Stack Lines by Y Offset or Column Label Rows in Browser Graph

Browser graph with lines stacked by Y offset or column label row information

Plot: Browser: Stack Lines menu to directly plot stacked lines with Y offset in browser graph.

Based on left selection, Y axis will auto rescale.

Click down arrow on left panel and choose Stack Lines by Comments, Long Name, etc. to stack plots based on specified label row so that plots with same column label row information will be put together.

ORG-26339

Stacked Browser Graph by Sheet

Group by Sheet option to plot data same sheet together in one panel in browser graph.

Group by Sheet option is added when choosing Plot: Browser: Stack… to create stacked graphs grouped by Sheet.

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25884

Sort X mini toolbar button on Plot(s)

Click Sort X mini toolbar button to set plot’s X to be sorted

There was only LabTalk layer.plot1.line.sortx=1 to sort X data of plot in previous Origin 2023.

Mini toolbar is added when clicking on Line, Scatter, and Line+Symbol plot to sort X without need to sort data in worksheet.

 

ORG-24900

Support Create Category with Data Highlighter MT

Support Create Category in Data Highlighter Mini toolbar

ORG-26461

Want to Easily plot one Y against multiple X

Plot one Y against multiple X. Currently you can not plot with XXXXY or YXXXX directly for most plots.

Origin now support Select from Worksheet by X in plotxy XF(use the same control in plotbylabel), so user could build XY range with XXXY or YXXX, and plot line, scatter, line and symbol. XF plotxy is upgraded.

ORG-25968

Online Template for 2023b

Added More online Template for 2023b. You can get the latest online template via Tools: Template Center.

  1. Color Mapped Line

  2. Bar with Stick

  3. 2D Relief Map

  4. Sunburst Color by Level

  5. 3D Line and symbol with Multiple Axis Planes

  6. Stacked Bar Map

  7. Sparkline Chart/Line with Dots on Both Ends

  8. Side-by-side 3D Stacked Columns

  9. Double Y Stacked Columns use new double Y in same layer

  10. Multiple Plots/Panels with XXXY data

  11. Histogram with range x tick labels

  12. 3D Double Y/Double Z templates

Text, Legend and Annotation

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26182

Built-in LaTeX Support

Using SVG drawing for LaTeX

LaTeX App and MikTex installation no longer needed.

LabTalk substitution notation \q(\varphi_{\mu, \sigma^{2}}(X)) will use built-in SVG rendering by MathJax JS library.

@MKX=0 to mean use built-in LaTeX and user must manually set it to 1 to go back to old way

 

How it works in Graph/Layout window

  • If LaTeX text already copied from somewhere else, right click inside graph and choose Paste LaTeX

  • Insert: LaTeX Equation… menu or right click inside graph and choose Insert LaTeX Equation…

  • For mixed text and LaTeX Equation, in in-place Edit mode of text object, past in such syntax \q(…..)

  • Or in in-place edit mode of text object, right click and choose Insert: LaTeX Equation…(Ctrl+L) to open LaTeX Equation Editor dialog.

  • Right click text object and choose Properties… context menu and enter such syntax

 

How it works in Worksheet cell

  • Click on a cell and use mini toolbar button.

  • To see the effect, right click the cell set Data Style to RichText to turn it on.

  • If it’s column label row, click on corresponding row header and check RTF to turn on Rich Text.

How it works in Notes window.

  • Right click in Notes window and choose Insert: LaTeX Equation

 

Support using third party extensions of MathJax

  • Select menu Tools: LaTex Extensions to open dialog to install third party extensions.

ORG-25575

Label Reference Lines With a Column

Specify reference line labels from a column

On Reference Lines tab of Axis dialog, Label Form control added. Specify a column for reference line labels.

 

ORG-26599

More Legend Substitution Notation

Show plot’s layer & group name, plot index or column designation info. in legend

More legend substitution notation added for translation mode.

  • @LX - column designation. If columns in worksheet are X1Y1Y1 X2Y2Y2, if user plots all Y columns. And set legend to be @LX, it will show 1, 1, 2, 2, (since 1st two plot are from 1st X, and 2nd two plots are from 2nd X ).

  • @L1 - plot index. E.g. if plot 5 plots in one layer, it will show as 1, 2, 3, 4, 5.

  • @L2 - group info. When highlight multiple data to plot, they are in one group e.g. g1. User can rename groups in Object manager and show group info. in legend.

  • @L3 - layer info. For multi-layer graph, user can give meaningful layer names in Object Manager instead of using default Layer1, Layer2. Using @L3 will show corresponding plot’s layer info. in legend)

E.g. the following legend shows layer name (@L3) - plot index (@LX)

 

ORG-25886

Better default legend position

LabTalk command to intelligently reposition the Legend.

LabTalk command run.section(standard, legendsmartpos) is added to move the Legend to a best position.

ORG-26352

Hide Markers in legend

Analysis markers (e.g. peak markers and baseline markers, etc.) will not show in legend by default.

Peak markers and baseline markers, etc. showed in legend in the past after doing peak analysis.

In Origin 2023b, it will be hidden in legend by default. This is controlled by page.peakm=0 (by default)

To make them show in legend, set page.peakm=1 and click Reconstruct Legend button (or Ctrl+L).

ORG-26429

Easier way to turn on Active Dataset Indicator in legend

Indicate Active Dataset button on legend level MT button

Toggle to turn on/off active dataset indicator in legend. When it’s on, a red frame will show on legend of active dataset. By default when opening analysis tools from graph window, active data will be used as the input.

Click on other symbol in legend will change active dataset. The frame will show around the newly clicked plot symbol in legend.

In the past, user would have to choose Format: Page… to open Plot Details dialog. Check it on Legend/Titles tab.

ORG-26114

Add straight line consider divide by factor

When adding straight line in graph with tick labels calculated by divide by factor, user can use the calculated tick range

E.g. support x range is 0 to 200 while user set tick label by divide by factor 10, tick labels will show as 0 to 20.

When adding straight line in the past, user had to enter values before division, e.g. to add a line at location 12 (by looking at tick labe), user actually needs to enter 120 in Add line dialog. In Origin 2023b, user can directly enter 12.

ORG-26406

Annotation moves with plot with offset

Annotation should move with data plot when offset is changed

New system variable is added @AFP=1 (default). When it’s 1, when text property text.follow=1 by default when adding new annotations. It will not affect existing annotation in existing project file.

ORG-26466

Attach Legend to Plots Improvements

Fix translation mode of of labels after using Attach Legend to Plots button on legend MT button

User could use Attach Legend to Plots button on legend mini toolbar button to put legend info. next to each plot.

E.g. in following image, user sets legend to represent mean value of each plot. Click the Attach Legend to Plots button, legend info. will be attached to end of each plot and they are linked.

 

If user then changes the legend to show other info., e.g. Comments info., the label after each plot will change as well.

In Origin 2023b, a system variable @ALP to control it. By default it’s 0 so label translation mode will be fixed so changing legend afterwards will not affect labels. Set @ALP=1 to roll back to old behavior.

ORG-26070

Vertical Alignment option for Data Info. and Tooltip layout

Vertical alignment options added for Data Info. window and tooltip window

There used to be Horizontal alignment only when customizing data point tooltip and data info window.

In Origin 2023b, vertical alignment options are added for tooltip layout when mousing over data points and data Info. layout when using Data Reader, Data Cursor, etc.

To customize in Data Info. window, mousing over data point in graph. Right click inside the yellow tooltip and choos Preferences…

 

Click Pencil icon on top of column header column (Note: Vertical alignment is shared across all columns while Horizontal alignment can be independent in each column)

 

To customize Data Info. window when using Data Reader, double click in Data Info. window to open Preferences dialog and click Pencil icon in column header.

 

ORG-10287

Show fill legend entry only for area plot

Origin support show fill entry only for fill under curve=normal or fill to base. for @LLAB, the 1st bit control whether we should show fill entry(see S6), the 2nd bit control whether we should use old style legend(fill only) for normal and fill to base. 1 to use fill only legend for normal and fill to base.

  • @LLAB=0, use new above below legend and keep line entry only

  • @LLAB=1, use new above below legend and keep both entries

  • @LLAB=2, use fill only legend(old style) for fill under curve=normal or fill to base, for fill to next plot, use new above below legend and keep line entry only

  • @LLAB=3, use fill only legend(old style) for fill under curve=normal or fill to base, for fill to next plot, use new above below legend and keep both entries

ORG-23231

Legend title with different style, justification and spacing

Better Partial Text Alignment. Text Property Dialog To Support Selection Alignment.

  1. Origin now can set following notation to set alignment for selected content 

  2. \p{{a:c}}(selected content) //a:c means align to center, a:l means align to left, a:r means align to right
  3. When there is selection in Text Property dialog, only add notation to selected part, not change setting for object(reopen dialog will see the setting for object is not changed).

Graph Customization

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25582

Insert, resize and rotate SVG image in graph

Allow easy placement, resizing, and rotation of SVG images in graphs

  1. Drag the SVG image to placing, single click to enter Resize mode, single click twice to enter Rotate mode.

  2. Double click the SVG image to open dialog and change Position, Size, (Rotated) Angle and Reset to Native Aspect Ratio. Note: Reset to Native Aspect Ratio is only available if not rotated SVG image

  3. LabTalk to change rotation: object name.Rotate = 90. Double click the SVG image to check the SVG object name in the Control tab

ORG-26143

Link SVG image with external file for real-time update

Right click on the SVG graph object and check Link File context menu.

  1. The inserted SVG graph object will be automatically updated if it’s changed outside origin.

  2. The inserted SVG graph object in saved opju will be automatically loaded when opening the opju.

ORG-26142

Info. of SVG image on Status bar and Object Manager

SVG image object name, linked or not, file path

  1. Click on SVG image to see info. on left side of Status bar

  2. In Graphic Object View of Object Manager, check or uncheck to turn SVG on or off, double click to open Object Properties for further customization. (Linked) show if it’s linked

ORG-26154

Insert Image Auto Set Linked File and Message

Insert image from file or web should be set as Linked File if file size is larger than 800kb

By default, system variable @IML=800. If file size < 800kb, image will not be set to Linked File, otherwise it will automatically be set as linked file.

Set @IML =1 to set all inserted image object as linked file.

ORG-26108

Copy Paste Linked Image between Graph windows

Keep image linked and updated when copy and paste an image from one graph or layout to other graph/windows

In the past, if image is linked to external file, when copy (Ctrl+C) and paste it (Ctrl+V), the image object shows hashtag, etc. so user needs to double click the image to open Image window and Import to update it.

Much straight foward in Origin 2023b now. Paste will directly show the image.

ORG-26197

Histogram mini toolbar to open a mini dialog for bin settings

Support Bin Settings button in Histogram mini toolbar to customize Bin of Histogram

ORG-26061

Support Gradient Fill for 3D Bar When Color Fill By Point

Enable gradient fill group when fill color of 3D bar and XYY bar is filled by point.

 

ORG-24181

Axis arrow heads in 3D Graph

Turn on arrow head for XYZ axis in 3D graphs

 

ORG-25711

Box&Whisker mini toolbar button

Dropbox added on box chart mini toolbar button

Dropdown button added before the button to adjust box gaps.

 

ORG-24777

Show arrow in 3D trajectory graph

3D Line Tab Support Arrow

Arrow group is only available when connect symbols is checked.

ORG-25465

Index the 3D symbol shape to a column

We support map symbol shape to a column in 3D scatter plot.

Added Increment and column of source sheet in the dropdown of Shape option.

ORG-24062

Modify Scale for 3D tetrahedral

Support rescale all axes

 

ORG-25974

Sankey Link Connect to Center of Node

We put link to center of node, like the right part of the graph

 

ORG-25975

Sankey label improvements

When label is inside node in Sankey, move label could also move node

When label is inside node, there is no label offset, select label to move should move node.

ORG-25714

Improvement on scatter matrix graph

Support mixed display (what is this word supposed to be?) mode to show statistics in lower/upper triangular. More options to customize the label text. More statistical plot type for the diagonal cells.

  1. Show result (fitting curve, statistics) for each group if a group column is specified.

  2. Mixed matrix display option to show additional statistics in lower/upper triangular.

  3. More display option for the diagonal cells: e.g. distribution curve, histogram+distribution curve.

  4. Custom statistics labels.

    1. Custom label text.

    2. Show significant marks.

    3. Label size by value.

ORG-25849

Show Heatmap Labels for Lower/Upper Triangular without diagonal

Support Lower/Upper Triangular without diagonal for label display.

We can select it in Plot Details dialog, Label tab, drop down list of label display.

ORG-26059

ORG-26272

ORG-26623

Multiple Additional Planes for 3D

We support Multiple Planes for 3D

Before Origin 2023b, user could only add one additional plane in 3D graph on Planes tab of PlotDetails dialog.

In Origin 2023b, … button added to add more than 1 additional planes

You can also add it from LabTalk Script by layer.plane.add command.

Syntax: layer.plane.add(type, pos[, color])

  • type: 1 for XY, 2 for YZ, 3 for ZX

ORG-26220

Increased Histogram Bin Limit

Increased to maximum number of Histograms bins to 10,48,575.

Origin used to have a 1,000 bin count limit. It has now increased to 220-1 (10,48,575).

ORG-25845

Only Show Date Part on 1st Tick of That Day

For axis with tick increment by hour(s), only show Date part of 1st tick of the day

If showing both date and time for each tick label, they will run into each other. A checkbox Show Date for 1st Tick for the Date is added on Tick Label → Display tab.

 

 

ORG-25962

Drag Selection on Graph to show MT

In graph window, drag selection in Region of Interest, support mini toolbar to Scale in or Enlarge to Separate Graph

ORG-25540

ORG-25997

Apply Formatting MT button on Axis should have choice for layer vs window

For multiple panel graph, click axis in any layer, click Apply Formating To button, support This Layer and This Window in the context menu to easily customize axis for different layer

For This Window, support three more context menu X Scale, Y Scale, All Scales

ORG-26470

Rescale Margin Improvement

Independent rescale margin for min and max of axis

In the past rescale margin is shared between both sides of axis. E.g. top and bottom axis will share the same margin.

In Origin 2023b, independent controls are added. E.g.

  1. Right-click on Y axis and choose Rescale Margins

  2. Uncheck Same Margin for Allow Separate Rescale Margin for Top and Bottom

  3. Click the Rescale (Ctrl+R), Rescale X, Rescale Y buttons on toolbar bottons on right side of workspace to update.

Note: In Browser graph, editing Rescale Margin… will trigger the auto rescale. No need to do 3.

ORG-26430

Align Y Axis on Single-Layer Double-Y graph

Align Y axes at specified value in new single-layer double Y graph.

There is this control in old multi-layer double Y graph. It’s on Link Axes Scales tab on layer level of Plot Details dialog

Origin 2023b introduced single-layer double Y graph but alignment option not included.

In Origin 2023b, Align Both Axes at control is added on Show tab of Axis dialog to align both left and right Y axis at specified value

There is also LabTalk command provided, try below with a double-Y graph,

layer.y2.link = 3; // mode=align layer.y2.link.from$ = 0; // value=0

ORG-26168

Colormap for Box plots

Colormap box fill color with column label value, etc.

Colormap to checkbox is added under Fill group on Pattern tab, with dropdown list to pick which info. to colormap to.

Then go to Colormap tab to set levels and color palette, etc.

 

ORG-25150

Sunburst Color Sub-Categories by Parent

Add Color Sub-Categories by Parent checkbox under fill color in Plot Details' Pattern tab.

With this checkbox selected, you can make sunburst plot like the following, with the outer rings having a color gradient with respect to the parent ring.

 

ORG-25777

Support indexing the line width of vector plot to a column

Origin now support setting the line width to be index to a column.

You can make a vector plot, then open Plot Details dialog. Go to Vector tab, set Width control mapping to a column.

ORG-26104

Major and Minor Tick Placement for Date-Time Scales

Set Major Ticks = By Increment and Value = Year and minor ticks count as 11. There could be 12 minor ticks in the past. Now Origin has better handled such case with @AMID=1

Other improvements for date-time scales:

  1. Extra Minor Tick for last month of leap year

  2. 12 month should be equal to 1 year

ORG-26002

Further customization of stack plot labels and titles

Allow further customization of stack plot labels and titles. Improves xf plotstack.

  1. When arrangement=vertical, and vertical gap<=2, we show X axis for 1st layer only. When arrangement=Horizontal(or horizontal exchange XY), and horizontal gap<=2. show vertical axis for 1st layer only.

  2. Add Show One Y Axis Title(for Horizontal stack direction Y should be X) checkbox under use Alternate side to show ticks and labels. Select it will show middle layer’s Y axis title to 50% of page height. and hide axis title for other layers

ORG-25802

Support Line and Tick for the height of bars (Spiral Bar Chart)

Add Show Y Axis control for Spiral plot. You can see the control in Plot Details dialog’s Labels tab.

When the option is selected, Y axis can be shown for Spiral chart plot.

 

Data Handling

Worksheet

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26020

Sheet Navigator Add Dimension Column

In order to check all sheets' dimension, add the Dimension Column in workbook/matrix’s Navigator.

Right click on worksheet/matrix name tab and choose Navigator menu, check the Dimension column in the opened dialog.

ORG-25916

Support Function to Calculate RMSE MBE MAE

Add new functions to calculate RMSE, MBE, and MAE

Three new functions are added to Statistics category in Set Values dialog to calculate RMSE, MBE, and MAE.

  • rmse(vobs,vpred): root mean square error

  • mbe(vobs,vpred): mean bias error

  • mae(vobs,vpred): mean absolute error

ORG-26095

Unfreeze panel Mini toolbar

Unfreeze Mini toolbar when clicking on frozen column/row/cell

Added a Mini toolbar button to to unfreeze any cell/column/row when clicking on the frozen selection.

ORG-26206

Prefer Long Name in SCV dialog

Remember the Prefer Long Name option status in Set Values dialog

In the Set Column Values dialog, at the Col(A) menu, the "Prefer Long Name" is checked by default. Now the status can be rememberred next time open. It’s controls by system variable @SCVPL.

ORG-26217

Quick Find: Show found cell contents on Formula Bar

Show contents of found cell by Find tool in the Formula Bar

Ctrl + F to open Find tool, enter text to find. When a cell is found, show the content in the Formula Bar for convenient.

ORG-26437

Delete Hidden Rows

Delete Hidden Rows is added in Reduce Rows dialog

When adding filter in columns, rows that don’t fit the filter condition will be hidden.

Then user can choose Worksheet: Reduce Rows...

Choose Reduce Method: Delete Hidden Rows to remove those rows.

Edit: Undo is supported.

ORG-26441

Delete whole row by missing or masked value in reference column

Reduce rows by deleting whole row based on missing or masked value in reference column

Delete Entire Row checkbox is added when When Reduce Method is Delete rows with missing values or Delete rows with masked values.

If Delete Entire Row is checked, then user can set Reference Column and check if there is missing or masked value in that column and delete the whole row.

 

ORG-26446

Worksheet Insert Delete Protection

Disallow insert/delete rows if worksheet in protection

For protection worksheet that has data connector or operation output, insert or delete row will be forbidden.

ORG-26442

Worksheet Query default to select rows

Improve Worksheet Query tool and wxt X-Function to select rows by default

If all columns are selected, Worksheet Query tool and wxt X-Function will select whole rows instead of block cells now.

This is improved to work better with the newly improved wks.deleteRows() command.

E.g. wxt "col(B)>5000" sel:=1, used to select block cells that fits condition instead of the rows, therefore when user want to run wks.deleteRows() to delete those selected rows, a selection block remains which is anoying. Now row is being deleted, and no selection will be left.

ORG-7329

Auto update of links to variables

Auto update of cell formula or column formula with reference to linked variables

E.g. in the following example, column K is calculated by column D/J. J actually are links to User Variable extracted during import. When import another data, J and K will be auto updated.

 

ORG-26742

Missing value should show as Empty in label cell

Cell formula calculates with missing value show as empty in label cell

Input a cell formula in a user-defined label cell, if it’s result is missing value, then Origin will show it as empty instead of “--”.

ORG-25603

 

Column Designation Group

Use wks.colN.group to specify which group the Nth column belongs

Usually the Y and Z column will belong to the X to the closest X column on the left. Origin 2023b allows user to specify which X group it belongs to.

E.g.

  1. Create a 5 column worksheet. Set column C as X column as well.

  2. → Columns will be broken into two groups. A, B in group 1 and C, D, E in group 2. See the column designation has 1 and 2.

  3. If user select column D to plot, it will use C as X.

  4. In Script window, run wks.col4.group=1 // press Enter key to execute it

  5. → Now D will be marked with D(Y1). If now select column D to plot, it will be plotted against column A as its X.

Matrix

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25090

Want Flip Colormap MT button for Matrix

Show the Flip Colormap button on Mini toolbar for matrix when it is in the view image mode. And it’s after the Palette button.

The Flip Colormap button will apply to all matrix objects by default which will affect by @MAP(default = 0 to apply to all and set to 1 to apply to active object only),

ORG-26246

Show Number of Matrix Objects on Status Bar

Shows information like: [Columns x Rows x Number of Matrix Objects] on the Status Bar

Activate any matrix sheet which has multiple matrix objects to show matrix dimension information on the Status Bar

ORG-26278

LT Property to indicate if matrix book is 4D

Matrix Book LT property to indicate matrix sheets are depths/levels of 4D object

Book level property wbook.is4D.

E.g. after import 4D netCDF data with multiple levels/depth, the matrix book will be set to 4D so that future ROI and intensity profile, etc. will work across matrix sheets.

ORG-26284

Support ROI across multiple matrix sheets

For the 4D matrix book(the 4th dimension is sheets), the single ROI will be displayed across matrix sheets.

4D matrix book is set when importing. Add ROI on the 4D matrix book then switch sheets. And the ROI will be displayed on the active sheet.

ORG-26231

Intensity Profile across matrix sheet

For the 4D matrix book, add ROI then do intensity profile. And it will generate all sheets' intensity profile result.

When input matrix is 4D, the dialog’s input will be Matrix Book.

ORG-26255

RGB Profile for Intensity Profile

When import colorful image, it supports generating the intensity profile result base on RGB value of each cell.

Check RGB Profile checkbox to generate the profile result base on RGB value of each cell.

It could sort the output columns by statistics first, within each statistics value should be RGB order. Or sort by RGB first, within each color should be different Statistics.

ORG-26356

Create New and Extract XYZ Across Matrix Sheets

For the 4D matrix book, add ROI then do Create New or Extract XYZ. And it will generate the active sheet’s result. Switching sheets to check diff sheets' result.

When input matrix is 4D, the dialog’s input will be Matrix Book.

Notes

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26629

HTML and Markdown change to use CEF engine

Change HTML and Markdown to use CEF engine.

Change HTML and Markdown syntax to use CEF engine, so it can use HTML, CSS, and JavaScript. This would be useful to show MathJax equation in the notes window with HTML/Markdown syntax. You can find the LaTex eqaution sample under Notes: Load Samples menu.

Import

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25871

Connect more files into same book

Duplicate sheet with more files context menu” to import more files with same import settings

Import one data file with import customized. such as partial import, some post import script, etc.

Click the data connector icon and use the context menu to bring in more files to same book using same import settings.

 

ORG-26577

LT access to Post Import Script

wks.dc.script$ for post import script

The following script sets up CSV data connect in new book with sample CSV data and run script to add mean label row to show mean values of each column of imported data.

newbook;
wbook.dc.add("CSV");
wks.dc.source$=System.path.program$+"Samples\Batch Processing\T275K.csv";
wks.dc.script$="wks.userparam(++Mean);
loop(i,1,wks.dc.c2) { wcol(i)[Mean]$="=Mean(this)";}";
wks.dc.import();

ORG-26498

HTML Connector Improvements

Make it easier to import tables on web to workbook

  1. URL info. in Book title and left Navigation Panel.

  2. Table name will be imported as sheet name, renamed sheet name will be kept when reimporting.

  3. After import one table, list all available tables on left Navigation Panel

  4. Right click tables to easily import one or multiple tables to new sheets or active sheet.

  5. When import multiple tables into one sheet, then set table name to Table label row.

  6. Options context menu added on data connector icon to set partial column import using same syntax as CSV connector.

  7. Post Import Script. context menu added to add script when importing or reimporting data.

  8. Labtalk Improvements:

    1. wbook.dc.nav = 0 to hide left Navigation panel, wbook.dc.nav = 1 to show the panel.

    2. wbook.dc.url$ (readonly) to get url string

    3. wks.dc.add() to add table to active sheet

    4. wks.dc.optn$ to set partial import and script

//import table _2 and then append table _9 as new columns in same sheet newbook; wbook.dc.add("HTML"); wbook.dc.source$="https://www.extremeweatherwatch.com/cities/boston/year-1993"; wks.dc.sel$="Tables/_2"; wks.dc.import(); wks.DC.flags=0; //0: append new columns, 256: append new rows. wks.dc.add("Tables/_9"); //import multiple tables in same sheet, for each table only import 2:3 columns. //table name only from 2nd char on and show as calendar 3 char month format newbook; wbook.dc.add("HTML"); wbook.dc.source$="https://www.extremeweatherwatch.com/cities/boston/year-1993"; wks.dc.sel$="Tables/_2|Tables/_3|Tables/_4"; Tree tr = wks.dc.optn$; tr.partial_col$="2 3"; tr.nameoptn$="2:0";//Keep table name from 2nd char on. Use "2" to show 2nd char only ToString(wks.dc.optn$); wks.dc.import(); wlabel ty:="table" fmt:="CM0"; //show calendar month Feb, Mar, Apr in Table row //import multiple tables into same sheet by appending row after row newbook; wbook.dc.add("HTML"); wbook.dc.source$="https://www.extremeweatherwatch.com/cities/boston/year-1993"; wks.dc.sel$="Tables/_2|Tables/_3|Tables/_4"; wks.dc.flags=256; Tree tr = wks.dc.optn$; tr.partial_col$="2 3"; tr.ToString(wks.dc.optn$); wks.dc.import();

ORG-26038

Support multiple files per book when performing Clone Import

If need to repeat import multiple groups of files, then create a workbook connecting to a group of files, and use clone import to select other groups of files to import.

For Example:

  1. Create a Workbook with two sheets, the first sheet is connecting to “Group1 File 1.txt“, and the second one is connecting to “Group1 File 2.txt“.

  2. Click Clone Import button, and select following files:

-->The first two files are imported into one new book, and others are imported into another new book.

ORG-26141

Drag and Drop to Import SVG files to Graphs and Layout

Support drag and drop SVG files into Graph/Layout to insert.

1.Drag and drop a SVG file into the Graph/Layout—will insert the SVG file.

2.Drag and drop SVG file to other places— will show error message.

ORG-26171

Insert SVG Web Image to Graph/Layout

Insert: Image from Web… supports url links with SVG image

E.g. https://upload.wikimedia.org/wikipedia/commons/5/53/MBTA_Rapid_Transit.svg

ORG-26106

Link to external SVG file

If image is linked, Origin project file size will be small and the image will auto update if external file changes

Right click SVG image in graph/layout to link/unlink

Right click image and choose Source File Path to change file path.

The Link status shows in Object manager in Graph Objects Mode.

The Link status and file location show on Status bar of Origin. Link status also show on Object Manager.

 

 

ORG-25582

SVG image resize & rotation

Resize and rotate SVG image inserted in graph/layout

Resize:

  1. Single click SVG image and drag to resize. Aspect ratio kept.

  2. Double click SVG image and on Dimensions tab of Object Properties dialog, uncheck Keep aspect ratio so user can change aspect ratio.

  3. On Dimensions tab, user can also enter position and size of object precisely.

Rotate:

  1. Single click SVG image twice to enter rotation mode. Drag the handle to rotate.

  2. Click SVG image on graph. The image object name shows on the left side of Status bar. E.g. SVG, SVG1, … Enter SVG.rotate=90 in Script window to change it.

ORG-26026

Default File Filter for File Selection Dialog

Added menu “Custom File Extensions…” to CSV Connector and Import Filter Connector to customize file extensions.

Steps to change the file extension for CSV Connector and Import Filter Connector.

1.Right click the app icon and select “Custom File Extensions…”

2.Change “File Extensions“ and click OK.

ORG-26391

Connect Multiple Files dialog improvements

Loading last used file info. in the dialog can be confusing and add All Files to File Type for CSV Connector.

1.Remove last File Names and Folder in Connect Multiple Files dialog if no longer valid.

2.Add All Files(*.*) item to Files of Type dropdown list for CSV Connector in Connect Multiple Files dialog.

ORG-26134

Import and parse text data from clipboard improvement

Improved paste Ctrl+V to check TAB, comma and semicolon.

Copy data from third-party software and paste it into Origin Worksheet will auto check TAB/comma/semicolon as delimiter.

ORG-26233

NetCDF Import Time Dimension Smarter Labels

If dense data is averaged into daily data, then matrix name will be show date info. only

1. We used to show a range, e.g. 2022-10-01 1:00 - 2022-10:01: 23:00 as matrix name for consecutive daily average, now we only set date to matrix name, like 2022-10-01.

  • If user further does intensity profile, column A would show such text string instead of date.

  • If user then plots the data against column A, it’s not plotted against date.

2. Now only show year as matrix name for consecutive yearly average, like 2022. Can set @MOL = 1 to turn it off.

ORG-26223

View Mode Improvements

Auto decide Image/Data mode depending on matrix size and keep modified view

If the matrix dimension (rows*columns) is small, data view will be used instead of image view.

  • System variable @VIM=400 is added minimum number of pixels to set view image on initial import

If View mode is modified by user, reimport will not modify the view mode.

  • Choose View: Data Mode and reimport data. The view will still be Data Mode.

ORG-26243

NetCDF Import Check Dimension of Single Value

Auto detect single cell matrix and import into worksheet column instead.

E.g. for a 3D variable such as Time[2000]*lat[1]*lon[1], Origin will auto detect it is a single cell data and import it into worksheet column.

ORG-26277

NetCDF 4D Variable Import

Import 1st level instead of middle level

E.g. for 4D variable such as Time[2000]*level[18]*lat[50]*lon[50], imports the 1st level.

In previous versions, middle level 10 is imported.

Level value will show as matrix sheet name.

ORG-25697

Improve Dimension Labels from NetCDF file - Z Dim

Set long_name of NetCDF data to matrixobject comment

E.g. a “long_name“ key, with value “Near-Surface Air Temperature“, after import, open Matrix - Set Dimension/Labels dialog.

--> On Z Labels tab, the Comments shoud be set to “Near-Surface Air Temperature“.

ORG-26244

Check to support 3D variable Add to Active Sheet

Support appending certain 3D Variable as Columns in same sheet.

E.g. If the structure of NetCDF 3D variable is “time[N]*lat[1]*lon[1]”, then show Add to Active Sheet item to Workbook Data Navigator for appending data to active worksheet.

ORG-26365

Structure Proection to prevent GUI sheet changes by DC import matrix into 4D

Not allow insert/delete/add sheet or drag sheet out into new book, when import 4D NetCDF variable into Matrixbook as 4D.

E.g. When there is a 4D variable V time[24]*lev[145]*lat[96]*lon[144]“, set selected path as “NetCDF/V[z][1:3][y][x]” to import, then then number of Matrixsheet will not allow to change.

ORG-26224

Support Importing multiple Slices as Matrix Sheets

Support importing 4D NetCDF to Matrixsheet as 4D.

Syntax:

NetCDF/v[z][5:7][y][x]

or

NetCDF/v[z][s][y][x]

E.g. When there is a 4D variable V time[24]*lev[145]*lat[96]*lon[144]“, set selected path as “NetCDF/V[z][1:3][y][x]” to import.

-->The time frames are imported into multiple Matrixobjects, while lev frames are imported into multiple Matrixsheets.

ORG-26438

Global Registry system variable to turn on high precision time

Set @ds =1 and import CSV data with higher precision and save project. Project level system variable @dsp will be set to 1970 for the opju.

Registry system variable @DS = 0 (default).

Set to 1 or any value > 0 will set new project @DSP=1970.

2018 was the only allowed value before for @dsp but there might be instrument data that is prior to 2018. So 1970 should be good enough. There should be no data file that need high time precision before 1970.

When sharing the opju with others with with @ds=0, the project will still keep the higher precision date since project level @dsp is 1970.

It’s also fine to share the 2023b opju with older Origin from 2019 on.

ORG-26473

HTML Connector with LT to setup URL

Added LT script: wbook.dc.URL$

The LT script “wbook.dc.URL$“ is used to get URL from connector, it is read-only.

ORG-26518

HTML Connector Navigator Pane

Support multiple select for HTML tables in Data Navigator, and import into active sheet.

1.Support select multiple tables in Data Navigator for HTML Connector: Hold Ctrl/Shift key to select multiple tables.

2.Support import multiple tables into one sheet: Right click one/multiple tables in Data Navigator and select Add to Active Sheet.

ORG-26458

Import Excel support Boolean type

Support Boolean type and copy paste or import data from Excel

When copy paste or import Excel data with boolean value TRUE and FALSE, Origin will bring it as numeric value 1 and 0 now.

ORG-26558

Connect more tables by Duplicating active sheet

Added Connect by Duplicating Active Sheet to context menu for Data Navigator.

  1. Add Connect by Duplicating Active Sheet which will connect to new table with customization same as active sheet in same book.

  2. Rename Add and Connect Sheet(s) as Connect as New Sheet.

ORG-26710

SQL Editor: Double click Table Improvement

* will be highlighted when double clicking a table on left panel of SQL Editor

When double clicking a table in SQL Editor, select * from TableName will show on right side with * highlighted so that user can double click column nodes to replace * with corresponding column.

ORG-26709

Show Cursor Position in SQL Editor

Show cursor in SQL Editor so user knows see where it is going to insert

In the past, no cursor in SQL Editor, so when double clicking table or column on the left side, it was hard for user to tell where it will be inserted to.

ORG-26368

Make it easy to digitize from image on clipboard

Click Digitizer toolbar button will check if there is image on clipboard first

If there is image on clipboard, then clicking Digitizer toolbar button on Standard toolbar will prompt a message, asking user if they want to digitize image on clipboard.

If no image on clipboard, then it will show file open dialog for user to choose Image file.

No change if using Tools: Digitizer menu.

User can use 1st toolbar button to open image file or use clipboard image.

ORG-26696

License To Control No Cloud

Allow to disable the connect to cloud/web features for all clients

If the security policy disallows using the cloud related features, users can contact OriginLab to obtain a new license that can disable the connect to cloud/web features for all Origin installations.

Export

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25989

Open File Location from Messages Log Should Select the File

Make it easier to find the exported file in folder

  1. Export a graph.

  2. Choose Open File Location from the context menu in Messages Log

– – > the folder should be opened with the very file selected.

ORG-25785

Worksheet Export to Excel Improvements and Issues

We add new X-Function to export as Excel and call it expxls

We add new X-Function to export as Excel and call it expxls

ORG-26029

old LT code broken due to LTXF_FROM_GUI_PROMPT removed from VC code

New design for LT script to open XFs dialog.

-d: allow fname and path and allow last used theme
-dg: no fname and path and allow last used theme
-dm: no fname and path but no last used theme

Example:

  1. Set path$

  2. New a Workbook and run.

  3. -->File Path is auto set, and last used theme is used.

  4. Close the dialog and run.

  5. -->File Path is not used, and last used theme is used.

  6. Close the dialog again and run.

  7. -->Both File Path and last used theme are not used.

 

Change all export XFs Menu from -dm to the new -dg

ORG-26216

SVG Export need option to convert fonts to path

Add convert text to outlines checkbox in expg2img dialog for EMF and SVG

After check the checkbox, graph exported as SVG is like that we temporarily set @to=1 and @tob=0.

When you open the file in Notepad, you will not find the text-drawing elements <text>/<tspan>, but you will find many <path>elements. These <path> elements are which does not depend on the presence of particular fonts even when text exists in the graph.

ORG-26522

Show Analysis marker for graph export

System variable @upa added

System variable is added to control export and graph sharing. It works for simple graph export and copy as image.

0 (default) : hide analysis marker

1: show analysis marker

ORG-26542

Export 16bit gray scale with color palette to PNG

 

Image window with text and other vector graph objects can also be exported to EMF from LT using expG2Img.
The EMF will retain the vector objects and scale with better quality.

ORG-26815

GUI and LT for export to PDF with MS print to PDF

 

  1. We can use the following script to generate PDF file

2. Add PDF to Simple Graph Export

ORG-26809

Export Notes to Webpage should better show file location hint

 

Origin will show hint about the exported file in Message Log after we export notes to webpage. We could open the file directly or open file location.

Analysis

General

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26525

Copy Transposed Table

Copy Table from result sheet as transposed table (text) to clipboard

Makes it easy to copy transposed table and paste to other places

 

ORG-23281 S2

More Statistical tools to support significant expression (p<0.0001) when extreme small P value

 

More Statistical tools like Hypothesis Testing and Nonparametric Tests to support significant expression (p<0.0001) when extreme small P value

ORG-25957 & ORG-25992

Support Missing Values and Cumulative Counts in Discrete Frequency

  1. Origin2023b adds Exclude Missing Values checkbox under Case Sensitive. It is checked by default. It should exclude both missing values and empty values.

  2. Origin 2023b adds Cumulative Count checkbox under Count.

ORG-26337

Browser Graph left panel improvement after analysis

After doing Gadget or Analysis, not add analysis markers, tags and fitted curves as new entries in left panel

System variable @BGA added. Default 0 so after doing analysis with tools or gadget, no entries related to analysis markers, tags and fitted curves show on left panel since left panel should only lists plots to browse.

E.g. Use Quick Peaks gadget to tag peaks in browser graph. Tags was added as entries on left panel

Fit curve with plot in browser graph. Fitted curve was added as entry on left panel.

ORG-25674

Allow Setting Default Line Width for Fitting

Support changing ReportFit.otpu and FitPreview.otpu to set defeault line style and width

Set customized line style and width, save template as ReportFit.otpu or FitPreview.otpu

ReportFit.otpu will effect the fit line in the report graph

FitPreview.otpu will effect the fit line in preview panel of NLFIT dialog

ORG-26639

Hidden column label should not show again after recalculate

Improve recalculation not to show hidden column label in result sheet

The improvement is only for ReportData output of X-Function tool.

If user hide column label in the result sheet, then recalculate will not show it any more.

Gadgets

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26207

Mini toolbar should not show gadgets and other graphic objects with control

No mini toolbar should show for Vertical cursor and zoom in rectangle box

It was disturbing to show mini toolbar when clicking on vertical cursor or the yelloe rectangle box for enlarge graph. Hide in Origin 2023b now.

ORG-26422

Gadgets Output Result in Same Folder

The output worksheet of Gadgets changes to [%H-xxx], %H means the Short Name of source graph, it’s easy to know the source graph of the result

ORG-26427

Quick Peaks Gadget poor baseline detection

We improved the algorithm of baseline detection in Quick Peak

Example data in Sample folders C:\Program Files\OriginLab\Origin2023b\Samples\Batch Processing\T295K.csv

Image Processing

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25924

Image Window GUI 2023b

  1. Added option to change Image Window’s background color

  2. Display Actual Size Show Image at Window Center

  1. Use the Fill Color button on toolbar to change image’s background color.

  2. Use Labtalk: page.basecolor=1 for example to change image’s background color.

  3. Click the Display Actual Size button on Mini toolbar and the image will be shown at window’s central by default.

ORG-26161

Provide context menu to create ROIs from Worksheet data when no ROI exists on image

Add 4 context menus about ROI for image window:

  1. Export ROI… (//disable when there is no ROI)

  2. Import ROI…

  3. Create ROI from XY…

  4. Clear All ROIs (//disable when there is no ROI)

Right-click on the image window to check the new context menu about ROI.

ORG-26158

Support more ROI shapes in image window

The Circle, Polygon, Region Tool on the Tools toolbar is available for adding ROI on image window.

 

ORG-26159

Make it easier to add multiple ROIs one after another

Right click on image window and choose Add ROI context menu, it will add ROI instead of modify.

Add ROI in image window by context menu will use the last used shape(Rectangle/Circle/Polygon/Region).

ORG-26160

List ROI in object manager

Now multiple ROIs for Image window can easily select, rename, delete etc in Object Manager

ORG-26280

Import GIF to Image Window Should read FPS

Improved img.fps to support gif image.

E.g.

  1. Select File: New: Image: Image/Video… to open a gif image.

  2. Run img.fps in Script window to get Frame Per Second.

ORG-26349

Gray Scale Specific MT buttons

Add Set GrayScale Range and Reset GrayScale Range mini toolbars buttons for the grayscale image.

Open a grayscale image then use the Set GrayScale Range or GrayScale Slider button to customize grayscale range. Then the Reset GrayScale Range button is available.

ORG-26350

Image as Layer Background Force Graph XY Scale

  1. Add Auto Rescale Background Image button on layer’s mini toolbar when background image is linked to an image window.

  2. When Auto Rescale Background Image mode is on, the coordinate changes in the image window will be applied to graph layer’s XY scale.

  3. Plot image by menu Image: Plot image and the Auto Rescale Background Image mode is on for the plotted graph.

ORG-26261

Metadata for ROI from SVG

Create ROI from the SVG, the ROI full name, SVG name and slice name of brain atlas will be saved into binary storage tree:

For normal ROI, you could use the LT: roi.info.tree.longname$ to read/write long name.

ORG-26400

Intensity Profile consider SVG's ROI specially

If ROI’s full name/SVG name/slice name of brain atlas exists, it’ll be outputted to the Intensity Profile result.

ORG-26180

Digitize with log scale

support log_e scale digitizer

in scale type dropdown, add Ln under Log10.

ORG-26202

Image Stack Z Values for Each Frame and Meta Data in this Z dimension

Add meta data in the Z dimension.

Added Labtalk: img.ZUnits$ and img.ZName$

Statistics

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25706

Statistics on Whole Sheet

Statistics on all columns of a sheet

Statistics: Descriptive Statistics: Statistics on Whole Sheet… menu added to do statistics on numeric columns.

Input is whole sheet so if new data with more columns are imported, the the output will update accordingly.

 

In result sheet, each column’s stats show in a row, user can also click row header(s) to create box chart, histogram, etc. for selected data.

 

 

ORG-25717

Customize Statistics info in Scatter Matrix

Customize Pearson’s r and Adj. R-Aquare Label

Custom Pearson’s r Label and Custom Adj. R-Square Label controls are added under Additional Statistics node in Plot Scatter Matrix dialog, to customize the text and numeric display of Pearson’s r and Adj. R-Square .

 

Programming

LabTalk

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26557

X-Function wlabel function to set display format of column label row

There is only GUI way to right click label and set its display format.

New X-Function wLabel to set display format of column labe row

  • wlabel type:=L fmt:="*3";

  • wlabel ty:=C rt:=1;

  • wlabel ty:="File Date" fmt:="yyyy-MM-dd HH:mm";

  • wlabel ty:=D2 fmt:=".2";

  • wlabel ty:="My Time" fmt:="THH:mm";

  • wlabel ty:=MyParam ex:=show;

  • wlabel ty:=MyParam ex:=clear;

It’s useful to add in Post Import Script, etc.

ORG-25792

Support listing StringArray on LabTalk Variables and Functions dialog

Show StringArray variable in the LabTalk Variables and Functions dialog

In Script Window, select menu Tools: Variables to open the LabTalk Variables and Functions dialog. A new checkbox “StringArray” is added, select it can show available StringArray variable in current project.

ORG-26063

LabTalk script to set Colormap Transparency

Add a new command to set colormap transparency

Syntax: layer.cmap.transparency

ORG-25853

LabTalk Countif function support simpler condition

Improve Countif etc. function to support simpler condition

In previous versions, the function needed a condition with input range like countif(col(A), "col(A)>10"). Now it has been made simpler and the input can be written as countif(col(A), ">10"). It’s also supported for other if functions including Sumif, Averageif, Maxifs, Minifs.

ORG-25837

LabTalk time functions support elapsed time period

Time functions add optional argument to return elapsed time period

New optional argument adds to time functions to return elapsed time period, includes Hour(d[,n]), Minute(d[,n]), Second(d[,n1,n2]).

ORG-26293

LabTalk Doc method to find a page

LabTalk doc method to return page short name from long name

A new method is added to Doc object to return page short name from it’s long name.

Syntax: doc.FindLN(strRegister, strLN, windowtype)

  • Return number of page windows that match the long name string

  • strRegister: output to which string register

  • strLN: Long name to search

  • windowtype: 2 = workbook, 3 = graph, 5 = matrix book

Example: int nFound = doc.FindLN(A, "some name", 2);

ORG-26316

LabTalk function to split RGB value

Add a new function rgb() to split RGB value

A new function rgb() is added to split RGB value. It will be very useful for getting separate RGB value from image type matrix cell.

Syntax: int rgb(int val, string channel)

channel can be “r”, “g”, “b”, “a”

ORG-26328

LabTalk support negative index for special point

Support negative index for special point when using set/get command

Example: set %C -1 -c 2;

Note: -1 for last data point, -2 for first data point

ORG-26440

LabTalk command to delete hidden rows in worksheet

wks.DelHidden( )

1st argument = 0 (default) is to delete rows, 1 to delete columns. 2nd argument 1 to support undo after delete.

E.g.

  • wks.delhidden(0); or wks.delhidden(); //delete hidden rows

  • wks.delhidden(1); //delete hidden columns

  • wks.DelHidden(0,1); //delete hidden row with undo support

 

ORG-26443

LabTalk command to delete selected rows in worksheet

wks.DeleteRows(), wks.DeleteRows(0),

Old wks.deleteRows(rowBegin[,numRows, colBegin, colEnd]) can only be used to delete specified range.

Improved it in Origin 2023b to add a new default wks.deleteRows(0) to delete current selected rows:

wks.deleteRows(); or wks.deleteRows(0); //delete without undo

wks.DeleteRows(0,1); //delete with undo

ORG-26469

Labtalk command to reorder columns in worksheet

wks.reorder(arg1, [arg2])

arg1 = -1: reverse current order

arg1 = column index, arg2 is its new index, similar to layer.Reorder(From, To)

arg1 = dataset, no arg2: allow for complete control, similar to OC Worksheet::ReorderColumns

Examples:

 

ORG-26199

LabTalk command for removing all escape code from Text objects

Add a new command to remove escape code from text objects

A new command is added to Label object to remove escape code. If \p(), \f(), \c() surround the entire text label content, then the escape code will be removed.

ORG-26497

Improvements of LabTalk OGS and CNF files in Code Builder

Coloring and right click to run selected lines in Code Builder

For OGS file

  • Color Section name with a light peach background by default to make it stand out.

  • Context menu Executed Selected Lines added when right-click.

For CNF file, coloring is supported

ORG-26782

Month() , Day() & Year(), WeekdayDame() YearName() return improvements for invalid date

Return missing value (--) or blank instead of the old -1

We used to return -1 for invalid date input, but that will cause issue when customize the display.

E.g. If column A contains date, and user set column B’s formula to be Text(Month(A), "##")$, which means get month numbers from date in column A and format the display to show two digits, e.g. date in Jan will show 01. For invalid and empty date in column A, -01 will show.

ORG-26673

wks.db object for Database Import

Add a new property to wks object for database import

Syntax

  • wks.db.sql$, wks.db.conn$, wks.db.odbc

  • wks.db.test(n, strErr$), n = max number of records to get, return number of records. Return negative code if error, strErr$ contains the error message

  • wks.db.run(strErr$), if Select, then import, otherwise execute to db, strErr$ may have error message

  • wks.DB.export(filepath, optn), if filepath not specified, then it will do update using current connection string. optn default=0, bit1 = skip colum, bit2 = skip row

Example

  • Insert Record

  • Remove Record

  • Export all sheets in book

ORG-26826

LT color function supports converting Red color in high byte

LT color function supports converting Red color in high byte

It’s more common to convert Red color in high byte.

Syntax: color(r, g, b, 2)

Note: Original color(r, g, b, 1) convert Red color in low byte.

ORG-26734

Support Defining Variables Across Sessions

New dialog provides to define variables across sessions

In the Script Window, select menu Tools: Define Variables Across Sessions to open LabTalk Variables Across Sessions dialog. User can define variables here, and the variables can be called when open another session. Note that the variables will be saved in the user_vars.cnf file in the User Files folder.

ORG-26887

Labtalk method to download a template

Added a labtalk function doc.download() to download template

or

Python

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25929

ORG-25949

Upgrade embedded Python to latest version 3.11 for Origin 2023b

Upgrade embedded python to latest version 3.11.

Upgrade embedded python to latest version 3.11 which can not be used on Windows 7 or earlier. Therefore, when try to use embedded python in Windows 7 or earlier, Origin will show a message prompt.

ORG-26265

Python save_fig() couldn't specify size of SVG image

Added an optional argument “ratio“ to save_fig() function, useable when type is svg or emf, default 0.

E.g.

ORG-26414

need way to transfer python 3.8 packages to 3.11

Added LT: doc -pyr 38;

Embedded Python is updated to Python 3.11 in Origin 2023b, the Python 3.8 packages installed in Origin 2023 are not compatible with Python 3.11 in Origin 2023b, just need to run LT: doc -pyr 38; to re-install them in Origin 2023b.

ORG-26870

Img.Load should allow web url from Python

Improved image.from_file() function to support import image from URL to image window.

Example:

ORG-26894

cv2mat need to be easier for Python

Added a python function from_img(img) to MSheet class to support convert image to Matrix.

Example:

ORG-26897

Python function to download a template

Added a python utils function olab_download() to download template.

Example:

or

Origin C

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26201

OC support for multiple ROI intensity profiles for image window

Added three new member functions added to OC class ImageLayer.

1.Added ImageLayer::GetFrameData() to get data by ROI.

2.Added ImageLayer::GetWeightedPointsByROI() to get weighted points by ROI.

3.Added ImageLayer::PixelToXY() to convert pixel to XY value.

ORG-26737

Set Multi-layer set Column Width for linked layers with X straight 1:1

Added following function to modify the gap option to make sure two column plots have same column width.

pSrcGl: Source graph layer with column plot

pDstGl: pDstGl is the one to be modified.

Example:

R

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-26085

Cannot type longer string in R Console

Set the text limit from 32767 to 65536 for the editor in R console.

1.Run script col(A) = data(1,9900); to fill col(A) with data.

2.Open R Console, click the send >> button to send Book1_A as Rdata in R.

3.Type Rdata and press enter.

4.Then try to type “Rdata” again.

==> Only the first two characters can be typed in previous version.

-->More string can be typed in Origin 2023b.

Miscellaneous

Ease of Use

JIRA

SUMMARY

DESCRIPTION

DETAILS

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-25668

Floating child window outside main window

Drag child window outside Origin’s main window.

  • Move child windows outside main Origin window.

    • Menus in floating window

    • Customizable toolbar buttons in floating window.

    • Dockable Object Manager window in floating window

  • Window: Float Window submenus to disable this feature, or set different floating behavior.

    • Independent - minimize/restore main window will NOT minimize/restore float window

    • Synchronized - minimize/restore main window will minimize/restore float window.

    • Disable - turn off the feature

  • Window: Retract Floating Windows (Ctrl+Shift+F9) to bring all floating windows in current folder back into main window.

  • Window: Float Active Window (Ctrl+F9) Make active window floating in last used 2nd monitor.

 

ORG-26669

Retract Floating Window To Original Folder or Current

Labtalk command to retract all floating windows to original folders or current folder

Manually drag a floating window back to workspace will always move the window to current folder.

The following commands only controls how floating windows are retracted by Script.

  • document -fma //retract all floating windows to their own folders

  • document -fmac; //retract all floating windows to the current folder

ORG-25936

Keep floating window when switching folders

When switching to another folder in Project Explorer, the floating window still shows

Float window will show when switch to another folder in Project Explorer.

  • Pin button shows on title bar which indicate float window auto pins.

  • When retracting window to main workspace, it auto unpin it.

  • Folder info. shows in floating window title if current folder isn’t the floating window’s own folder.

  • Go to Original Folder toolbar button and context menu added to easily return to its own folder

  • User can easily move a floating window to current folder by dragging it back to the workspace.

ORG-25936

Keep Pinned inside window when switching folders

A system variable to allow pinned window show when switching folders

In previous Origin, pin a window only locks it in its own folder.

In Origin 2023b, pin a window will lock it to workspace so it will stay when switching to another folder. Set system variable @pws=0 to roll back to old behavior

When the pinned window isn’t in its own folder,

  • folder info. shows in pinned window title.

  • Go to Original Folder toolbar button and context menu added to easily return to its own folder

  • Unpin will make the pinned window disappear in current folder

 

ORG-26380

Indicate Floating Window in PE

Use Different Color on Window Name to indicate Floating

Two new system variables to set color for floating window in PE

@fwca floating window color (Active), like @fwca=color(0,255,0,1)

@fwci floating window color (Inactive)

 

ORG-26121

ORG-25941

Menu and Toolbars in Floating window

Mix of Menus and toolbars in Floating window

  • Choose Preference: Customize Floating Window Menus to customize menus

  • Choose View: Toolbars: Toobars tab, add or move button in Floating Graph, Floating Layout, Floating Matrix, Floating Workbook to customize toolbar

  • System variable @FWTB=0/1 (1 by default) to hide/show the menu and toolbar

ORG-25961

Default Toolbar buttons for Floating Toolbars

For Floating window like worksheet, graph, matrix and layout, support some toolbar button

Choose View: Toolbar… check the toolbars starting with Floating… to customize the toolbar.

  • Drag buttons to adjust orders

  • Alt+Drag a toolbar button out of Floating… toolbar back to the dialog to to remove it from Floating… toolbar.

  • Add more buttons to Floating… toolbar. E.g. how to add Print button on toolbar for floating graph widnow.

    • Choose View: Toolbar…

    • Check Floating Graph on Toolbars tab. So a Floating Graph shows in Origin workspace

    • Go to Button Groups tab, and select Standard in Groups list.

    • Drag the Print button onto the Floating Graph toolbar in workspace.

    • Closing the Customize… dialog.

    • Now make a Graph window float outside workspace. The Print button will be on the toolbar inside the floating window.

 

ORG-26238

Default Menus for Floating Window

For Floating window like worksheet, graph, matrix and layout, support some menu items

Default Menus for Floating Window list as below:

Worksheet: Data, Plot, Column, Worksheet

Matrix: Data, Plot, Matrix

Graph: Graph, Format, Insert

Layout: Layout, Insert

Image: Image

ORG-26459

Floating window actives together with Origin main workspace

When activate or minimize main workspace, floating window activates or hides together

System variable @FWA to control the behavior.

@FWA=1 (By default), floating windows should be shown together with main window (including minimize action).

@FWA=0, floating windows and main window work independently.

ORG-26530

Include floating windows when toggle child windows

Ctrl+Tab or Ctrl+Shift+Tab should include floating windows

When with @fwa=1 (default),

when using Ctrl+Tab or Ctrl+Shift+Tab to toggle windows in Origin, the floating windows are included.

ORG-26305

Accidentally floating when move window to upside of main MDI

Adding system variable @FWD to avoid accidentally floating case when move window to upside of main MDI

@FWD=0: All direction allow to drag window outside of MDI

@FWD=1: Horizontal direction only (default)

@FWD=2: Vertical direction only

ORG-26416

Object Manager in floating window

Object Manager inside floating window

  • Button to turn on/off Object Manager (OM) inside floating window.

  • Better default on/off setting for floating window

    • If OM in main frame is docked and shown, when floating a child window, the OM will show inside floating window.

    • If OM in main frame is turned off or not docked, when floating a child window, the OM inside it will not show.

  • OM in both main frame and floating window works for active window.

  • @FWOM for default position of OM in floating window. 0 = hide, 1,2,3,4,5 = top,left,rigth,bottom,float

ORG-25778

Scale child windows in Origin Project Improvements

Unmaximized Origin project saving and opening in different monitor resolutions should scale properly

In Previous versions of Origin, if Origin workspace isn’t maximized on a lower resolution screen and saved as project file (OPJU), and later opened on a monitor with Higher resolutions, the workspace and child windows inside may look tiny and squeezed.

This is improved in Origin 2023b, so that no matter saving on lower resolution and open on higher resolution or vice versa, the workspace and child windows will scale fine.

New system variable @MFRLA added related to Save and loading OPJUs saved with non-maximized workspace

  • 2 (default): When saving on lower resolution monitor and opening on higher resolution monitor, it will resize so the workspace will NOT be tiny and squeezed. If saving on higher resolution monitor and opening lower resolution monitor, the size will only adjust if it does not fit (otherwise it will be left unchanged).

  • 1: Resize no matter saving on lower resolution monitor and opening on higher resolution monitor or vice versa. It fixes earlier versions issue of saving on lower resolution monitor and open in higher resolution monitor (see 0 below) but casues issue the other way around. If saving on higher resolution monitor (e.g. using only 1/4 of whole screen) and open on lower resolution monitor, Origin will resize to take 1/4 of whole screen. All child windows may look tiny and squeezed.

  • 0: Old behavior before Origin 2023b of no resizing at all and use info. in OPJU. Therefore if saving on lower resolution and opening on higher resolution, windows will be tiny and squeezed. No issue when save on higher resolution monitor and open on lower resolution monitor.

Note: No issue with maximized workspace saved and loaded on different monitor resolutions.

ORG-26681

Scale Minimized Window Positions

Minimized windows will not be squeezed together

Improve positions of Minimized Window when OPJU open in higher DPI so they are not overlapped.

ORG-26049

Script window remember zoom level

Keep the zoom level of font size in the Script Window.

In Script Window, input some text, then Ctrl + Mouse Wheel to zoom font size. Close it then reopen, the zoom level will be remembered.

ORG-26087

Want tooltip to show Long Name for minimum window

Want tooltip to show Long Name for minimum window

In Origin 2023b, tooltip will show Long Name when mouse hover over minimum window.

 

ORG-26089

Save Favorite Folder

Shortcuts in Favorite Folder Saving

In Origin 2023 and earlier versions, when a shortcut is inside a favorite folder, and you choose to save that folder as a project, but it fails to save the actual window.

Origin 2023b improved to save the actual window in the Favorite Folder Project.

ORG-26091

Object Size 2023b

  1. “Show Saving Size” is added to right-click Project Explorer empty space menu,

  2. “Linked File” is added to right-click inserted picture context menu.

1.

2.

ORG-26560

Support Arc Tool

In left toolbar, support Arc Tool in Line object fly-out. Draw an arc, click it, drag the anchor point to draw a large arc

ORG-25738

Duplicate Windows and Objects with Ctrl+Mouse Drag

Duplicate Window and Graph object by hotkey

In Project Explorer, support CTRL+Drag windows to duplicate in same/different folder

For Graph Objects in Graph/Worksheet/Matrix/Layout, support CTRL+SHIFT+Drag to duplicate multiple selected graph objects, system variable @CSDND to turn off

ORG-26755

PE Ctrl+Click should deselect file when mouse is released

In Project Explorer, Ctrl+Click should deselect file when mouse is released

In Origin 2023b, Project Explorer, Ctrl+Click should deselect file when mouse is released like Windows Explorer.

ORG-25795

Support ort theme file type in Transfer User File and Group Folder Manager

.ort files can be transferred to new version’s User Files Folder, and can be published to member PCs for the Group Folder Sharing configuration.

.ort files are node expand/collapse status configurations in analysis report sheets, see more information here:

https://www.originlab.com/doc/en/Origin-Help/Analysis-Rep-Wks-Cols (search for “Save Node Configuration”)