Skip to main content
Skip table of contents

nSpec v0.22.1.0 External Release Notes

nSpec Version 0.22.1.0

Release Date:

Documentation Updated:

Major Features: Custom Reporting & Exporting, High Resolution Mosaics


Overview

Introducing nSpec v0.22.1.0! This release is packed with some powerful new functionality that we’re excited to see running in the field, including:

  • High Resolution Stitched Mosaic Generation

  • Custom Reporter - a dynamic new tool for embedding data wrangling scripts into production recipes

  • Custom Exporter - a highly configurable tool for generating analysis result exports with the exact data you need

  • Live View Enhancements - pausing, informational banner with live intensity, FPS readings, and more

  • Option to Skip Pre-alignment - For optimally fast wafer handling

In combination, these new tools allow nSpec to support almost any application demand, no matter how niche, with a little assistance from our Applications Engineering team.


Upgrading to v0.22.1.0

Required Library Update!

To upgrade from previous versions, a few things need to be checked:

  1. Run all upgrading steps for versions v0.21.0.0, v0.21.1.0, and v0.22.0.0 - we recommend running all installers for major builds of nSpec between the previous version and the target version.

  2. Run the nanotronics-libraries-installer-v22_1-20220321 installer to update 3rd party libraries related to the new software build. Contact technical service if you are missing this installer.

  3. nJson format has been updated compared to v0.22.0.0, resulting in a breaking change for customers using the Dislocation Analyzer if configured for that version

Important for any customers using the Dislocation Analyzer: The structure of the Dislocation Analyzer nJson file changed between versions v0.22.0.0 and v0.22.1.0

Conversion Instructions: To convert the old format to the new format, move all root-level fields except for “parameters” into an object that is assigned to the new field “Dislocation”

Old nJson format:
JSON
{
   "parameters": [
      ...
    ],
    "classifications": ...,
    "otherClass": ...,
    "chainClass": ...,
    ...
}
New nJson Format:
JSON
{
   "parameters": [
      ...
    ],
    "Dislocation": {
      "classifications": ...,
      "otherClass": ...,
      "chainClass": ...,
      ...
    }
}


Major Enhancements

Custom Reporter

Overview

Custom Reporter makes it possible to build highly customizable and consolidated reports using one or more previously run analysis results. This can be used in a myriad of ways to meet specific customer needs. Importantly, this has been implemented in a manner that is generic, so this will work for all defect-type analysis results across nSpec. Custom Reporter opens up many possibilities.

Here are a few use case examples:

  • Combine Device Inspection & AI Analysis reports so that you can remove nuisance defects one either analysis, while also creating a report that has defect class information and pixel-accurate area.

  • Combine multi-type Device Inspection analysis into a single report for easier defect review.

  • Combine AI and Basic Selection Analyses Results for pixel-accurate Area reporting.

How Does it Work?

The Custom Reporter generates a new analysis entry in the image database, generated via an embedded SQL query. This Query must generate data that can be saved into the Defects table in the scan database. Therefore, in order to generate fully supported reports within nSpec, the query must output a set of defects where each defect has all the following columns of information: 

Column Name

Data Type

DefectID

INTEGER

ImageID

INTEGER

AnalysisID

INTEGER

DeviceID

INTEGER

X

REAL

Y

REAL

W

REAL

H

REAL

Area

REAL

Eccentricity

REAL

Orientation

REAL

XinDevice

REAL

YinDevice

REAL

ClassID

INTEGER

Score

REAL

Contour

TEXT

ClassName

VARCHAR

Note: Contour can be an empty string, andClassName is optional and can be used to output defect classes within the SQL script. If ClassName is written, nView will allow users to view the Class Report when reviewing results. 

The Custom Reporter is a tool to access the database, NOT to modify the database. Applications/Tech Services Engineers and customers do not have the right to modify the database. No query should attempt to create or delete data.

Custom Reporter Analysis Parameters 

Custom Reporter, like Custom Exporter, was built with the intention that an internal Nanotronics Applications Engineer or Technical Service Engineer would assist customers by configuring an nJson file for custom applications. Then users are able to point at these nJson files within the parameters for the Custom Reporter, by populating the Report Setting field:

Param Name 

Options 

 Description

Base Analysis IDs Mode 

Absolute, Relative 

See Post-Analysis Referencing section (Link)

Base Analysis IDs 

 

See Post-Analysis Referencing section (Link)

Report Setting 

 

Select a nJson file of the import setting. 

Referencing Prior Analyses

For guidance on how to set up post-analysis referencing, visit the appendix page for Post-Analysis Referencing

Configuring the nJson File

The nJson file must be written and configured by Nanotronics Technical Service or Applications Engineers. To request a new custom reporting application that may require assistance, please contact support@nanotronics.ai to request support.


Custom Exporter

Overview

The Custom Exporter allows users to build highly customizable exports that report on all the desired defect information collected during any previously-run analysis. Like other analyses like the Custom Reporter and Dislocation Analyzer, the Custom Exporter requires an nJson file loaded with relevant SQL scripts.

Configuring the nJson File

The nJson file must be written and configured by Nanotronics Technical Service or Applications Engineers. To request a new custom reporting application that may require assistance, please contact support@nanotronics.ai to request support.

Core Features

CSV column headers are completely configurable. No matter what nSpec calls a defect attribute, users have the ability to rename them to align with the customer vernacular. For example, within nSpec databases we might refer to defect width as “W”, but in this export we can rename that to “width” or “defectWidth”, or anything else that is required for smooth integration with the user’s application.

Embedding math and custom calculations

In addition to simply exporting columns directly, the Custom Exporter will allow us to perform any operation that is legal within SQL code. This gives enormous flexibility in reporting exactly what is needed.

For more information on embedded calculations via the custom exporter, please contact the applications team.

Parameters 

image-20240920-164028.png

Param Name 

Options 

 

Base Analysis IDs Mode 

Absolute, Relative 

See Post-Analysis Referencing for more information and usage.

Base Analysis IDs 

 

See Post-Analysis Referencing for more information and usage.

Export Setting 

 

Select a nJson file of the Report setting

If you have a new request for a new functionality, please request support from support@nanotronics.ai

Export Type

CSV, KLARF, XML, TDX, JSON, UserDefined

Export file format.

See Custom Export File Formatting with String Templates if you choose to created a custom UserDefined file export.

Export File Full Path

 

Dynamically name export files with string templates. See Export File Full Path Parameter for more information and usage.

[DEPRECATED]

Custom Filename Suffix 

Optional 

Deprecated with introduction of Export File Full Path parameter.

If non-empty, this suffix will be directly added to filename. If using nSpec v0.23.1.0 or earlier, the suffix will be added following an underscore.


High Resolution Mosaics

Overview

Currently, the post-scan mosaic generated by nSpec is a low resolution copy of what appears on the nSpec - Stage View after a scan. The High Resolution Mosaic Generator (HRMG) allows users to generate flawless, perfectly stitched, and up to full resolution mosaics matching the input scan pixel resolution.

The most common use cases for HRMG are:

  1. Saving a single high quality continuous image of wafer samples for manual defect inspection

  2. Removing gaps between image tiles caused by optical aberration

  3. Generating image sets for the Virtual Device Inspection (VDI) workflow

The High Resolution Mosaic Generator is disabled by default. If you would like to use this feature and it is not currently enabled, reach out to mailto:support@nanotronics.ai for assistance to activate.

Usage

The HRMG is highly flexible, and accepts an overlapped nSpec scan, then outputs a mosaic or image set depending on the runtime configuration. The most basic output generates a full-resolution mosaic of a wafer scan without any image registration. In this scenario, the algorithm simply positions the input image tiles adjacent to each other. Inputting an overlapped scan to the HRMG is more useful, as the HRMG will perform stitching registration calculations between all of the image tiles. This means there will be no discontinuities across the high resolution image output, under nominal input conditions.

The job property percentOverlap can be assigned to any job to produce an overlapped scan. For the HRMG, a value of 15% is recommended.

The following matrix describes supported input scan types:

Scan Type

Requires Device Layout

Output

Supported?

Wafer

-

High-res Image

Yes

Aligned Wafer

-

High-res Image

Yes

Aligned Wafer

Yes

Device Scan*

(VDI Workflow)

Yes

Device

Yes

High-res Image

Yes

User-Defined

-

High-Res Image

No

*Notice that if the input wafer is aligned and a device layout is provided as an input to the HRMG parameters, the output is not a single mosaic image but rather a Device Type Scan. This is called the Virtual Device Inspection workflow, and is a sepa

Parameters

There are many parameters for this analysis, but for the most part these can be left as default values. The table below provides descriptions and notes on the HRMG parameters.

Parameter

Description

Note

Final Calibration Factor

Used to brighten or darken images in response to light source power fluctuations. Must be positive. Value of 1.0 has no affect

Recommend ignoring this parameter unless instructed by Technical Service team. This parameter interacts with other features.

Compression Factor 1

Quality (1.0 is max quality) of the first set of mosaics to be output.

Important! High Resolution Mosaics can only save to disk if small enough to comply with Windows and TIF image format constraints. Compression must be small enough to generate an image < 4GB

If the mosaic is larger than this, the Mosaic Generator will silently fail and reports as complete in the exception log even though no mosaic is output

Compression Factor 2

Quality (1.0 is max quality) of the second set of mosaics to be output. If set to 0 (zero), only one set of mosaics will be generated.

Blending Option

How Blending of Overlapping tiles should be calculated (Pixel Fill, Gradient Mask)

For smoother blends, Gradient Mask is recommended.

Desired Output Width

(Pixels) Desired output width of each mosaic. Zero means it will be calculated automatically.

Setting this will override compression factors.

Desired Output Height

(Pixels) Desired output height of each mosaic. Zero means it will be calculated automatically.

Setting this will override compression factors.

Timeout

(Seconds) Timeout. This is for the whole batch of mosaics, not per-mosaic.

Desired Output Left edge

(Pixels) Desired left edge of each mosaic. Zero means it will be calculated automatically.

Recommend setting to 0.

Desired Output Top edge

(Pixels) Desired top edge of each mosaic. Zero means it will be calculated automatically.

Recommend setting to 0.

Tile Correction Options

The set of corrections (Flatfield, darkfield, darkcurrent) that will be applied to each tile.

Recommend setting to None and using global system flatfield correction (FFC).

Flatfield Correction Image Path

Path to the flatfield correction matrix. Only used if the tile correction option is set to correct for flatfield.

See above

Darkfield Correction Image Path

Path to the darkfield correction matrix. Only used if the tile correction option is set to correct for darkfield.

See above

Darkcurrent Correction Image Path

Path to the darkcurrent correction matrix. Only used if the tile correction option is set to correct for darkcurrent.

See above

Pre-stitching downsample factor

Amount each tile will be downsampled by before stitching

Recommend stitching at full resolution (1.0)

Device Inspection CSV input path

If supplied, multiple devices from this CSV file will be output

*See Virtual Device Inspection workflow for details on this format

Desired Device Inspection Tile Width

(Pixels) Desired output width of each tile in Device inspection scan.

Recommend outputting image tiles that match the input tile width (ex: 4096px by 4096px for systems with a Bonito Camera with standard configuration

Desired Device Inspection Tile Height

(Pixels) Desired output height of each tile in Device inspection scan.

See above

Tile overlap Fraction X

(Percent) Desired X-direction overlap of each tile in Device inspection scan.

Recommend setting to 0

Tile Overlap Fraction Y

(Percent) Desired Y-direction overlap of each tile in Device inspection scan.

Recommend setting to 0

Export JSON

Set to TRUE to export analysis results to JSON file. Set to FALSE to disable.


New Features

Highlights

NSPEC-5501: Pixel Intensity for Field of View in Live View

At the bottom left of the Live View, an informational ribbon now includes some information about the Live View such as Refresh Rate, and Average Intensity. Average Intensity is reported as a percentage from 0-100%, where 0 represents a fully dark image, and 100% represents a totally white or bright image.

To report on average image intensity of a specific Region of Interest within the live view, use Ctrl-Left Click to drag and define a Region of Interest. While this selection is active, only this region of interest will be sampled and reported for intensity.

This feature could be helpful for tuning optimal Image Settings for different recipes, to verify that specific ROIs within a device are not over-saturated.

NSPEC-6039: Pausing Live View

Even best efforts to ensure a vibration-free environment for inspection cannot completely eradicate ambient vibrations. These vibrations can be especially visible when working with very high magnification objectives (ex: 20x, 50x, 100x). We have added an ability to pause the live view, which makes it so much easier to perform Critical Dimension Measurements without having to deal with shaking images.

When paused, an orange-red border appears on Live View and a “Pause” icon ⏸ appears in the upper left corner of the display.

There are two ways to pause the live view:

  1. On the keyboard, click the Pause or Pause/Break button

  2. Right click the Live View window to open the context menu, and select “Pause Live View”.

While paused, clicking the Live View display will no longer move the stage to the clicked position.

NSPEC-6057: Option to Skip Prealigner During Wafer Loading

There are some use cases where pre-alignment is not a necessary step in the wafer loading process. This feature provides an option to completely skip the pre-alignment station when loading wafers. This option can reduce total cassette scan-time by about 40 seconds.

To set this up, open the Autoloader Calibration dialog. For the alignment algorithm, select “None” - that’s it!

NSPEC-5624: Remove Translations from the Codebase

Translations were added to nSpec in a way that wasn’t able to scale as new features were developed. An audit of our translations throughout nSpec revealed they were in a sad state and were full of inaccurate or missing translations. Translations will be reintroduced someday again soon in a way that actually help non English language speakers get the most out of nSpec.

New Features Changelog

T Key release notes summary

Data cannot be retrieved due to an unexpected error.

View these issues in Jira


Bug Fixes

Highlights

NSPEC-5911: nView resizing button doesn't expand to fit entire multi-tile Field of View

Previously, at the lower right corner of nView’s image tile window, if you clicked on the Zoom to Fit button the field of view would not fully expand as advertised. Now it will! The zoom to fit feature will zoom out even below the level that you can select manually through the slider. This is great because it means you will always be able to zoom out to see the desired field of view. This fix sounds minor, but has a pretty big impact on quality of life when reviewing image sets and analysis results inside of nView.

NSPEC-5577: Select Analysis Dialog is slow for DBs containing many defects

When working with analysis results containing defect counts in the millions, we have observed that nSpec’s dialogs can take a long time to load. This has now been fixed (or at least dramatically improved) with this version. The dialog most affected by this performance issue was the “Select Analysis” dialog, which can be opened from the main view by the menu options Analysis → View Analysis Results…

On first selection of a legacy folder or image database, the initial load will take some extra time (sometimes as much as ~30 seconds). This happens because this fix requires some calculations to be made within the database. After this first pause, opening that folder location through the Select Analysis Dialog will be much improved.

Changelog

T Key release notes summary affected releases

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

Appendices


Post-Analysis Referencing

Overview

There are a few nSpec analyses that must take a previously run analysis as input. This includes Custom Reporter, Custom Exporter, Cropped Images, Report Summary Image Export and Defect Classifier. One or multiple previous analyses can be input to the post-analysis.

Parameters

All of these analyses include the Base Analysis IDs Mode and Base Analysis IDs parameters, which are used to reference the input analysis.

Parameter Name

Parameter Value

Description

Base Analysis IDs Mode 

Absolute, Relative 

Absolute points to the numeric integer reference of a previously run analysis.

Relative points to the most recently run analysis.

The Base Analysis ID parameter will vary depending on which mode is chosen.

Base Analysis ID

 

The user must input a comma separated set of IDs. 1 or more IDs can be input.

If the mode is Absolute, it is an integer or set of integers. For example,“1 or “1, 2”.

If the mode is Relative, it is an input analysis name. See the Analysis Reference List below for the Analysis Reference ID for each analysis.

For example, “DeviceInspection, Gen IV Analysis” means that the first input analysis will be the most recently run analysis of type Device Inspection, while the second input analysis will be the most recently run Gen IV Analysis.

Using Relative Mode

When using Relative mode, you also have the option to reference any previously run analysis, not just the most recently run analysis. by adding a numeric indicator at the end of the analysis name. Let’s say an image database ran 3 analyses:

  1. Gen IV AI Analysis (parameter set 1)

  2. Gen IV AI Analysis (parameter set 2)

  3. Device Inspection

To point at #2 and #3, you would input the following for the Base Analysis IDs field:

NONE
"DeviceInspection, Gen IV Analysis"

To point at #1 and #3, you would input the following for the Base Analysis IDs field:

CODE
"DeviceInspection, Gen IV Analysis.2"

The .2 at the end of Gen IV Analysis informs nSpec to reference the second most recently run Gen VI Analysis. In this way, you have complete flexibility to point at any previously run analysis using both absolute or relative modes.

If you wish to reference the most recent analysis, there is no need to add the “.1” after the analysis internal name reference. This means that “DeviceInspection” is the same as “DeviceInspection.1”

Internal Analysis Reference ID and User-Facing Analysis Names

The user-facing name of an analysis is not necessarily identical to the ID that should be used to reference that analysis. The following Analysis Reference ID values should be input to the Base Analysis ID parameter when using Relative mode.

Analysis Name (User facing)

Analysis Reference ID (IntName)

AI Analysis

AIAnalysis

Basic Selection (Contrast, Morphological Range)

nrad_rangeselect

Basic Selection (Intensity, Exclusive)

nrad_intensityselectexclusive

Basic Selection (Intensity, Inclusive)

nrad_intensityselectinclusive

Crack Detection V2

CrackDetectionV2

Custom Exporter

Custom Exporter

Custom Reporter

Custom Reporter

Device Inspection

DeviceInspection

Die Yield

nrad_dieyield

Dislocation Defect Analyzer

Dislocation

Gen IV AI Analysis

Gen IV Analysis

Gen V AI Analysis

GenVAnalysis

High Resolution Mosaic Generation

High Resolution Mosaic Generation Analysis

Surface Scattering Analysis

Surface Scattering Analysis

Utility: Launch Executable

LaunchScript

Using Absolute vs. Relative Mode

When running in production, we recommend always using relative mode.

When testing a new script, it might be useful to use absolute mode. However, in the majority of cases, we believe that relative mode is most likely to be the optimal mode, especially when running in production.

Consider a case where you scan a wafer and perform a Group Analysis on this scan. The first time, using absolute references to point at the 1st and 2nd analyses may work fine. But what happens if you run that group analysis a second time? Now, the post-analysis is still performed on the first and second analyses ever performed, rather than the ones most recently performed as part of that new analysis group.


Sub Scan Generator

Overview

The Sub Scan Generator is a nSpec analyzer that manages target scans for queued analyses. It has one (useful) parameter - Push / Pop, which can be set to either Push or Pop.

This analyzer is meant to be strategically placed within an analysis group of other analyzers.

For the following sections, the following terms will be used:

  • Pushed/Virtual Scan: Scan created when sub scan generator is run in push mode, which is described in the following section.

  • Source Scan: Scan that was the target of the sub scan generator.

  • Target Scan: Scan that is the target on non-sub scan generator analyses.

Push Mode

When the Sub Scan Generator’s Push / Pop parameter is set to Push, the generator is in push mode.

In push mode, the behavior of the Sub Scan Generator is:

  • When run as a standalone analysis (not in an analysis group):

    1. A new virtual scan ID is created in the scan’s database

    2. A new virtual scan folder will be created in the scan’s folder

    3. The new virtual scan’s ID will be the biggest scan’s ID + 1

    4. The scan property Pushed ScanID will be written into the ScanProperties table for the source and virtual scans. The scan property’s value will be the virtual scan’s ID

  • When run in an analysis group

    1. Everything that happens when the sub scan generator is run as a standalone analysis happens here

    2. The target scan is the newly created virtual scan

Pop Mode

When the Sub Scan Generator’s Push / Pop parameter is set to Pop, the generator is in pop mode.

In pop mode, the behavior of the Sub Scan Generator is as follows:

  • Nothing happens when run as a standalone analysis (not in analysis group):

  • When run in an analysis group

    • The target scan is the source scan, no matter what a previous sub scan generator did in push mode

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.