Versions Compared

Key

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

Graphing

New Graph Types

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24518

ORG-24684

Use Origin Rich Text to Cell Notes

Add Origin Rich Text as another Syntax for Notes, and set it as default

  • Besides Markdown, HTML, a new syntax Origin Rich Text is provided for Notes, and it will be set as default syntax for notes window and cell note.

  • Add Notes as Sheet will default using Origin Rich Text to create note sheet.

  • Rename HTML menu to be Notes menu, and provided samples for Origin Rich Text.

  • Context menu for easily added info from worksheet cell, meta data and graph/image window.

  • Context menu for easily added symbol, equation, web link and image when syntax is Origin Rich Text.

ORG-24519

Toolbar buttons for editing Origin Rich Text in More Places

When Notes window with Origin Rich Text syntax, allow to customize format like font, font size, color, .ect with Toolbar.

In worksheet, Insert Notes for cell, also allow In-Place Edit with Standard Toolbar

ORG-23917

Paragraph Style Support in Notes Window

User can write notes, report in Notes window and styles

  • By default Notes window syntax set to Origin Rich Text by default. Right click window title and check Syntaxt node.

  • Right click the paragraph and choose Paragraph Styles. There are many preshipped styles e.g. Body Text, Bulleted List, Numbered List, Heading Left, Heading1, Heading2, Picture. Or user can define styles.

  • Use Tools: Text Style Manager to edit, create new styles and delete styles.

  • Close Origin, delete TextStyles.ini under User Files folder and restart Origin to reset to default settings.

ORG-24838

Improve Notes Window Raw Text Editor

Support moving cursor to matching parenthesis.

Added hotkey Ctrl+K, Ctrl+B and Ctrl+{ to find the matching parenthesis in Note book.

ORG-24846

Preview of Notes window in PE

Mousing over Notes window in PE shows preview

Paragraph style, image, etc. can show fine in Preview of Notes window in PE.

ORG-24845

Allow Notes Window to edit Text in Layout or Graph

Support text object to use text from Notes.

In graph or layout, user can add a text object and enter text “@@@notes1” and this will get string from notes window named Notes1.

In layout, two context menus are provided to easily insert or add note text.

ORG-19339

Font Control for Note Window

Support different font size in different Notes window

Font will be the same in all Notes windows but font size can be set differently in each notes window.

ORG-24920

URL Link support in Notes Window

Clickable URL link in Notes Window

Right click in Notes window and choose Insert: Link… to link to url, help file or labtalk command

Other examples

ORG-24902

Set Notes window page width and display margin

Set Page width (inch) of Notes window and display margin (points)

When syntax is Origin Rich Text,

  • Right click Notes window title and choose Properties (Alt+Enter) and set Page width or use Labtalk property: note.width=

  • Use @NDM = 3; //Notes Display Margin in rendered mode, in points

ORG-24833

Notes Window Printing and PDF, Page Width

Use

Code Block
note.width=

to set the intrinsic width in inches.

If specified, then the Notes window should render to that specified width so if resizing to be wider, empty space should be on the right.

Set to 0 to remove it (default).

ORG-24921

Zoom in and out in Notes window

Zoom in rendered mode of Notes window

Use the zoom percentage toolbar to zoom in and out the notes window.

ORG-24876

Link to external or online image in Notes Window

Link to image file or online image in Notes window to keep Origin project file size small

Use context menu to insert image file or online image to Notes window or text label in graph. Since it’s a link, it will not make project file size big.

Or directly use the following syntax:

ORG-24834

Insert Table in Notes Window

Insert Table in Notes window. A table sheet will be created for editing contents.

Use Insert context menu to insert table in Notes window. \img([NoteTable1]Sheet1) notation will be added.

Go to the corresponding Table worksheet to edit contents and style of the table.

ORG-24747

Paragraph Support with new Origin Text Escape notation

Paragraph Support with new Origin Text Escape notation

ORG-23928

support default font control for different font face

Add a Special Default Fonts dialog to specify default font

Six font face are provided in this dialog.

  • Math Symbol,Arrow/Misc Symbol and Unicode Greek are used to control the font of Math tab, Arrow and Miscellaneous tabs, and Greek and European tabs in symbol map.

  • Other can be escape code for mixed fonts in note window or text object.

for example to use Asian and Western font

syntax: use \f:e(western font) and \f:a(中文字体)

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24569

Reorder P-P plot data in residual graph

Should not sort the P-P plot’s data.

In previous version, the data of fitting’s Residual vs Predicted Values plot is sorted by X. And since Origin 2022b, it’s not sorted.

ORG-24211

named range refers to fitting function parameters, x from and to values, lower & upper bounds, initialize parameter in NLFIT using LabTalk, etc.

Support name range in fitting tool, Define Name in worksheet cell, use the Name rather than actual name to set critical parameters like Intercept, Slope in fitting tool.

ORG-24723

Support EMF/SVG for user defined fitting function preview

For a user defined fitting function, there will be a .FDF in User Files Folder, put a EMF/SVG with same name as the FDF, in NLFIT dialog, set Function as user defined fitting function, in Formula tab, the preview for the function shows

ORG-24825

Parameter Initial formula improvements

In Origin2022 or before, if set Initial Formula for some Parameters, the initial value for Parameters with no initial formula will be 0, in Origin2022b, Use auto parameter intialization code for those with no initial formula.

Image Analysis

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-23094

Import and Export GeoTIFF

Support read XY mapping from GeoTIFF file and export data matrix/image as GeoTIFF file.

1.Read XY mapping and set to Matrix when use impImage tool to import GeoTIFF file.

2.Read XY mapping and set to image window when open GeoTIFF file by File: New: Image: Image/Video…

3.Added a node “Export as Grayscale GeoTIFF“ under “TIF Options“ branch in expImage dialog, when File Type is TIF and the input matrix “im“ is data type matrix, it will show.

4.Support export image window as GetTIFF file.

ORG-24884

Support drawing none color for grayscale image in Image Window

Set missing value and color for it

Mini toolbar button to set Missing value color

Corresponding Labtalk Properties to specify which value to represent missing value and what color to use

  • img.missing = -999 //read the missing value or set what value is treated as missing value

  • img.nancolor=1 //black

  • img.nancolor=color(255,0, 0) //red

  • img.nancolor=-4 //none

ORG-24947

Tools For GeoTIFF Image

Multiple tools are added or improved

  • Image: Convert to Column menu uses newly added cv2col XF to generate the needed column with proper LN so user can do histogram, etc. Missing values will be ignored.

  • Image: Set Grayscale Display Range… menu to set pixel value range for showing the image

  • Image: Convert to Matrix… cv2mat x-function is updated to properly transfer img.z1 z2 so resulting matrix z1 z2 will be same as image

ORG-24349

Digitizer Related Changes due to new Image Window

The digitize image uses new format type OImage.

If set @DIGI=0, the digitize image is new and we do not support wmf, emf, pcx, psd, tga.

If @DIGI=1, it will change to the old bmp image.

ORG-24758

Support GrayMax for more data type image

Added Z1, Z2 to LabTalk’s Img object.

Use Labtalk img.z1 and img.z2 to set min and max values of signed format to map the color.

ORG-24984

Image Window Create New Issues

Create New will carry over Z1, Z2

1.When using ROI and Create New, we should check Z1 Z2 and carry that over.

2.Rename Create New as Create Linked Image.

ORG-24298

Grayscale (1 channel) Image stats

generate histogram for 1 channel grayscale image

1.Auto set img.min and img.max when open GeoTIFF grayscale image.

2.Added Grayscale Histogram XF for 1 channel grayscale image in image window.

3.Added following function to OC ImageLayer class to get histogram of the pixel values.

int FreqCounts(vector<int>& values, vector<int>& counts, const vector<int>& skips)

ORG-25036

More ROI shapes in grayscale image

Besides Rectangle, user can choose circle, polygon and region to add ROI in imag window

For color image, only rectangle ROI is supported.

For grayscale image, e.g. geotiff, etc., user can use circle, polgon and region tools to add various shaped ROIs in image to crop, created new, etc.

ORG-24950

NetCDF Data Period arithmetic calculation on matrix

Subtract and Simple Math tools support Periodic arithmatic calculation

In Analysis: Mathematics: Subtract… dialog, Periodic matrices in B option is added to use number of B matrix as a period to loop through A to do the arithmetic calculation.

Such option is also added in Analysis: Mathematics: Simple Math… dialog.

ORG-24556

Image Units

support set unit to image window

Added LT script img.unit$ to set/get unit from image window

ORG-25047

Matrix Export to Image to better support GeoTIFF

When Convert Image to Matrix, carry over GeoTIFF info

When open GeoTIFF image, will save image info to layer.info.tree storage, if use Image: Convert to Matrix tool to convert, will carry over GeoTIFF info.

ORG-25076

Support Output Coordinates of Min and Max in Intensity Profile tool

In Intersity Profile tool of ROI in image matrix, more options are added.

Also introduce a system variable @RDRC=200, means if original Report Data has columns larger then @RDRC, generate report will simply remove all original columns instead of try to preserve them, which will be faster. One problem about remove all output columns is that of any plots made from output columns, they will be destroyed.

ORG-25041

Image Window ROI Create New needs to set missing values for outside pixels

When ROI is not RECT, set pixels outside to Missing for double data type, or if source has Missing value

1.When ROI is not RECT, Create New will set pixels outside to missing value if source image window contains missing value, or data type of the source image is double.

ORG-25088

Image Grayscale Z1 Z2 Slider and MT button to open

Added Z1 Z2 Slider for grayscale image

Two ways to open grayscale slider diaog.

1.Run LT script “run.section(imgfile,grayslider);“.

2.MT Button: Click image window to show up MT button.

GeoTIFF Meta Data

Read more GeoTIFF image Info.

1.Put more GeoTIFF image Info in Layer Info Tree, use LT script to get the info. “layer.info.tree.=;“.

2.Get Pixel Unit and set to image window/Matrix.

ORG-25157

Import images to graph with position and clipping control from LabTalk

Add LabTalk command to crop, clip Image object on graph.

Syntax

  • Crop: gr.Crop(left top right bottom)

  • Clip: gr.Crop$=left top right bottom

Example

Code Block
win -t plot;
string strInitPath$=system.path.program$+"Samples\Image Processing and Analysis";
dlgfile g:="*.jpg" m:=1 init:=strInitPath$;
int nn=fname.GetNumTokens(CRLF);
int cleft=50, ctop=30, cright=150, cbottom=130;
for(int ii = 1; ii <= nn; ii++) {
	string strf$ = fname.GetToken(ii, CRLF)$;
	string strGr$;
	insertImg2g fname:= strf$ type:=IMG xyp:=page oname:=strGr$;
	GObject gr = strGr$;
	gr.Crop$="$(cleft) $(ctop) $(cright) $(cbottom)"; //Clipping
	int nx = ii*page.width/5;
	int ny = 1000;
	gr.PageRect$="$(nx) $(ny) $(nx+600) $(ny + 600)";
}

ORG-25163

LabTalk command to add Image to graph using scale

Add string property for image XY mapping, and add option to layer command to add image using scale

img.XYUnit$ = ”cm”; //set Unit

img.XY$ //set XY mapping for image

layer.addImg(image, 8) //add image to graph using XY scale

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24341

Cell Notes Programming Access

Support accessing cell notes in code

Labtalk

Introduce Labtalk substitution notation @WN to access cell note in text label or legend of graph window. See example below,

Code Block
%([Book1]Sheet1,@WN,B[2]) //cell note in the 2nd cell of col(B) in Sheet1 of Book1
%(1, @WN, 2) //cell note in the 2nd cell of the 1st plot's Y column
%(1X, @WN, 2) //cell note in the 2nd cell of the 1st plot's X column
%(1, @WN, B, 3) //cell note in the 3rd cell of col(B) in the 1st plot's worksheet
%(1, @WN, 4, 5) //cell note in the 5th cell of wcol(4) in the 1st plot's worksheet
%(1, @WN, C) //cell note in the Comment label cell of the 1st plot'Y column
%(1, @WN, B, L) //cell note in the Long name cell of col(B) in the 1st plot's worksheet
%([Book1]1, @WN, col(B)[L]) ==> //cell note in the Long name cell of col(B) in the first sheet of Book1

Python

Code Block
import originpro as op
row, col = 1,1
wks = op.find_sheet()
str = wks.method_str('GetNote', f'{row + 1},{col+1}')
print(str)
t = '\\b(Some Heading)\nAnother line\nYes more'
wks.set_cell_note(row,col,t)

ORG-24701

System Variable to completely disable sparklines

Support disable sparklines by system variable @SPK.

New registry system variable @SPK is instroduced. Default is 0.

  • 0: Default value, as before

  • 1: No new, but opju open as before

  • 2: Can add but opju will be cleaned up on loading

  • 3: Can’t create and opju will be cleaned up on loading

Also, new command “delete -spk;” is implemented to delete all sparklines in current project.

ORG-19905

Support KaTeX

In Notes window, set Syntax as Markdown, input KaTex script and press Ctrl+M to render

ORG-24914

layer object support change XY mapping for matrix

Channel layer object to set XY mapping for matrix object.

Now, user can access XY mapping for a matrix object with following ways,

  • layer.x.from/to, layer.y.from/to (newly support)

  • x1/x2, y1/y2

  • wks.col1.x1/x2, wks.col1.y1/y2

ORG-25082

Labtalk support Copy Graph Page

Add Labtalk function to copy a graph page to the clipboard.

Add page level method page.copy(OLE) to copy a graph page to the clipboard.

ORG-25078

Labtalk dataset assignment support skip hidden rows

Support simple dataset assignment to skip hidden rows

System variable @ASH (default is 0) is added, set it to be 1 to skip hidden rows when do simple dataset assignment.

Example,

Code Block
//suppose col(A) has some hidden rows
@ASH = 1;
dataset ds = col(A); //ds will only contain the visible data rows

ORG-25056

LabTalk getting tree from info binary storage as string

Support getting and setting tree from info binary storage as tring

This is mainly for GeoTIFF image import.

For example, import a GeoTIFF image to new image window, run following script to get and set,

Code Block
tree tr = layer.info.tree$; //get
tr.=;
layer.info.tree$ = tr$; //set

ORG-25156

Labtalk command to prevent Windows sleep when executing script

sec -sn to prevent Windows sleep and sec -sn 0 to allow sleep

Use the following to prevent sleep

sec -sn

Use the following to allow sleep (which is the default state)

sec -sn 0

Python

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24768

Support evaluate FDF in Python

Introuduce a new function to evaluate FDF in Python code, so user can define a fitting function base on it and get a better prerformance.

  • PyOrigin/OriginExt

    Code Block
    EvaluateFDF(FFName, pIndepVarValues, pParameterValues)
  • originpro

    Code Block
    evaluate_FDF(ffname, indepvars, parameters)

ORG-24897

Pip command support checking with package version

Support checking package version with pip -check/-chk1 command

Code Block
pip -check emd==0.4.0;
pip -chk1 emd==0.4.0;

ORG-25082

originpro supports copy graph page

Add function in originpro to copy graph page to the clipboard.

Add page method GPage.copy_page(self, fmt, res=300, ratio=100, tb=False) to copy a graph page as an OLE object or an image into the clipboard.

...

JIRA

SUMMARY

DESCRIPTION

DETAILS

ORG-24646

Turn off mini toolbar for future sessions

View: Mini toolbar checkbox and system variable will apply to future sessions

Uncheck View: Mini toolbar or set system variable @DMT=1 to disable mini toolbar

ORG-24595

Arrange Windows

Customize how to tile/cascade windows in workspace

Window: Arrange Window… menu is added

  • Tile windows into multiple columns based on different sorting orders including window name, PE order, manually activated order, etc.

  • First sort by window type and then sort by window name order.

  • Cascade in each column by check Overlap Each Column

  • Apply and Restore buttons.

  • Save settings as dialog theme for future use.

ORG-22142

Snap Windows

Resizing and Snapping of Windows in Workspace

Window: Snap Windows (Ctrl+F12) menu to turn on/off this feature.

When it’s on, user can drag window to snap it or if windows are tiled or arranged in workspace, it will snap windows in same row/column.

Usage

  1. To snap window to 1/4 or 1/2 of workspace, drag window to border of workspace.

    1. Drag it close to upper border but more to left side, it will snap to the upper-left quarter of space.

    2. Drag it to upper border but the middle part, it will snap to top half of space.

    3. Drag it to upper border but more to the right side, it will snap to the upper-right quarter of the space.

    4. Same applies to left, bottom, right border of workspace to snap to half of space.

  2. To split a snapped window space A with another window B

    1. Drag window B to left side within window A, window A space will be split by B on the left

    2. Drag window B to right side within window A, window A space will be split with B on the right.

    3. Same applies to drag to upper/bottom side within window A.

  3. To switch two window location, press Alt key when dragging.

  4. To put window B to cover window A, drag window B to title bar of window A.

  5. To snap a window to empty space, press Shift key when dragging.

  6. If multiple windows share same border, e.g. after using Tile Vertically, Tile Horizontally or Arrange Windows, mouse over edge of one window will show green border for windows of same column/row. Drag it will resize all of them. To resize only one window, press Shift key and then mouse over to edge of the window to resize.

ORG-24443

Undo deleting of workbook

Ctrl+Z to restore deleted workbook window

Set System variable @WU to disable restore.

ORG-24512

Adjust Apps Icon spacing

Control the horizontal gap between App icons

Click tab or white space in Apps Gallery and choose Apps Icon Spacing…, use the slicer to adjust gap between apps.

System variable @apps to control horizontal gap

@appv is used to set additional vertical gap

After setting it, user can dock Apps Gallery to top of workspace to save space

ORG-24051

Modify all the pre-shipped VI files to add the "Close References" application control

Added Close References to OA_GetColumn.vi

Updated Labview sample files to build-in sample folder.

Can copy these samples to Labview by Tools: Copy Origin Sub-VI LabVIEW vi.lib\addons.

ORG-24702

Option to show Window Preview only when Ctrl key is pressed in Project Explorer

Context menu is added to show window preview only when Ctrl key is pressed when mousing over a window in Project Explorer

In Origin 2022b, Hold Ctrl key for Preview Popup context menu is added in Project Explorer.

When it’s checked, window preview will not show unless hold Ctrl key when mousing over a window in PE.

The corresponding system variable is @PEK. Set it to 1 means it’s checked.

ORG-23943

Adjust windows size and position in Origin according to screen resolution and DPI

Resize and reposition windows to make it display the same layout in workspace in different resolution and DPI.

System variable @SRWS to control

0: old way;

1: fit the width, and scale y with x scale;

2: fit the height, and scale x with y scale;

3(default) : fit the width and height;

In Origin2022b, windows display the same layout in workspace in different resolution and DPI

ORG-20259

Improving for check for update

Inform user about new version of origin is available when check for update

  1. Update menu Help: Check for updates... to Help: Get Help Files/Check Updates

  2. Pop up message box when check for update if new version of Origin is available

2.a select Yes, origin will open web page(https://www.originlab.com/InstallNewVersion ) in browser

2.b select No, Check For Updates dialog will be shown

ORG-24683

Allow directly installation of App from Start Menu

Registered user can directly install app when search from origin start menu

If origin is registered, when searching app in origin Start Menu, user can directly install those apps listed under Apps Category.

ORG-24442

Add Cloud Template to Origin Start menu

show cloud template when user search in Origin start menu

Cloud Template will be shown if there is matched searching in Origin start menu.

if template is already downloaded, click it will open template directly.

otherwise click it will auto download this cloud template

ORG-24738

Allow customization of button to insert OLE object in graph

Allow customization of button to insert OLE object in graph

In Insert Object dialog, add a checkbox Use Current Selection as Default without Opening Dialog (Shift+click to open dialog).

Select this option will not open dialog from next time. But user could still hold shift key to open dialog to change selection or uncheck checkbox. Once this checkbox is selected, 2nd line of button tooltip could be Hold Shift key to open dialog.

This checkbox will be available for “Create New“ choice only, and it will not be saved for the “Display as Icon“ choice.

ORG-24801

Easier way to see folder size

Folder in Project Explorer bottom panel will show size. (Need check “Show Folders“ context menu)

Right click in blank area of bottom panel to show folders in bottom panel.

User can easily view size of folders.

ORG-23458

Support hosting user apps on customer server

Support hosting user apps on customer server

If user have a series in-house use apps, he want to store it in server, and hope origin will get update from his own server, then he may use this feature.

  1. To user this feature, client user should first setup app server path to Origin.ini.

  • Manually Add server path to origin.ini

Code Block
[AppsStorage]
path = \\network\a\b\c\
  • App maker can also add CustomServer key in Package section of package.ini , and Origin will set path key in AppsStorage section of Origin.ini during app installation

Code Block
CustomServer =\\network\a\b\c\

2. Install in-house use app in client origin.

3. Publish higher version app to app server path.

4. Client user will see the update info(red dot) in app icon after restart origin.

5. Right click on app icon and select Download and Install Update to get new version app.

ORG-25158

Data Reader Arrow Key speed up

When Data Reader on large dataset, support hold Ctrl/Ctrl+Shift key to speed up moving cursor

When Data Reader on large dataset, hotkey left/right arrow to move curor to previous/next one

Hold Shift + hotkey right arrow will increment by 5 (Already support in old version), system variable @DRS to control

Hold Ctrl + hotkey right arrow will increment by 15, system variable @DRC to control

Hold Ctrl + Shift + hotkey right arrow will increment by 50, system variable @DRSC to control