# Migrating to This Release

This topic contains information about changes that may affect existing ViDi projects when migrating projects from previous releases to the current release.

## Changes to the Viewing of Overlay Graphics

In the 3.4.0 and 4.1.0 releases, the keyboard shortcuts used to show and hide overlay graphics in the Image Display Area have been changed. The new keystrokes are the following:

- The Alt key plus the Right Arrow key or the Alt key plus the Left Arrow key

These are used to cycle through the available combinations of display graphics (labels, markings, labels and markings, or no overlay graphics).

In previous releases, the space bar could be used to show or hide all overlay graphics, but that is no longer supported.

## Changes to Tool Training Workflow

In the 3.4.0 release, there is a new method for specifying the images/views that will be used to train a tool. If you will be re-training a tool that was trained in a previous release, you will need to configure the tool to use the new training set paradigm, via the Select Training Set dialog. Please refer to the Training Set and Use the Select Training Set Dialog topics.

## Changes to the Feature Filter Syntax

In the 3.4.0 release, the syntax for the Feature Filter Processing tool parameter was modified. If you were using width and height in your expression, they must now be qualified with view, such as view.width and view.height.

For example, in version 3.2 and earlier, syntax used to limit the found features to those where the center of the feature lies within the ROI would have been the following:

x < width and x > 0 and y > 0 and y < height

In 3.4.0 and later, it must now be expressed as the following:

x < view.width and x > 0 and y > 0 and y < view.height

Note:

This syntax can also more easily be expressed by using the in operator. For example, the following syntax could be used to simplify the expression:

x in [0,view.width] and y in [0,view.height]

## C Library Overlay Function Deprecation

ViDi provides two mechanisms, the C API and the .NET API, to display result graphics. However, the following C library overlay graphics functions are being deprecated in this release, and will be removed in the following release:

- vidi_training_tool_get_overlay ();
- vidi_runtime_sample_get_overlay ();
- vidi_runtime_get_overlay ();
- vidi_training_sample_get_overlay();

To access the overlay graphics in the future, you will need to use either Cognex Designer, the .NET API or In-Sight ViDi.

## Past Releases - ViDi 3.2 to 3.3

- Importing workspace archives created with version 2.1 and older is not supported. If you are migrating from ViDi Suite version 2.1 or older, you must first import and then export your workspaces using version 3.0, 3.1, 3.2, or 3.2.1 before you can import them into ViDi 3.3.0.

- ViDi 3.3.0 requires the use of an NVIDIA driver version greater than or equal to 411.31.

  To obtain the updated NVIDIA drivers, visit: https://www.nvidia.com/download/find.aspx

  For more information on ViDi driver compatibility, visit: https://support.cognex.com/en/downloads/detail/deep-learning/3763/1033

- The Client/Server functionality in ViDi 3.3.0 has been updated to use the HTTP communication protocol, and no longer supports the TCP protocol. To use the new HTTP protocol in your client/server application, you must upgrade both the client and server to ViDi 3.3.0. There is no cross-version client/server compatibility (e.g. clients running 3.2.1 can only connect to servers running 3.2.1, and clients running 3.3.0 can only connect to servers running 3.3.0).

  Note: HTTP communications generally provide better throughput for run-time image processing. However, for high-latency network topologies, HTTP communications may increase interface latency during training and development.

## Past Releases - ViDi 3.1 to 3.2

### C Library Function Deprecation

A number of C library functions were deprecated, as follows:

- Runtime functions

  Note: The deprecated functions are located in a new vidi_runtime_legacy.h header file.

  Previous Version | New Version
  --- | ---
  vidi_runtime_get_overlay | Not available
  vidi_runtime_process_sample | vidi_runtime_sample_process
  vidi_runtime_get_image | vidi_runtime_sample_get_image

- Training functions

  Note: The deprecated functions are located in a new vidi_training_legacy.h header file.

  Previous Version | New Version
  --- | ---
  vidi_training_stream_process_sample | vidi_training_sample_process
  vidi_training_blue_add_feature | vidi_training_blue_set_feature
  vidi_training_blue_add_model | vidi_training_blue_create_model
  vidi_training_tool_set_mask | vidi_training_roi_set_mask
  vidi_training_tool_get_mask | vidi_training_roi_get_mask
  vidi_training_ini_sample | vidi_training_add_sample
  vidi_training_process_sample | vidi_training_sample_process

### NuGet Package Deprecation

The use of NuGet packages have been deprecated, and are no longer included in the ViDi installer. If you have runtime and/or training applications that reference the NuGet packages from an earlier ViDi release, you will need to remove those references, and replace them with references to the .NET .dll libraries, instead.

To remove NuGet packages in Visual Studio, select Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution...

To add the .NET .dlls, in your project, right-click and select Add -> Reference.

## Past Releases - ViDi 3.0 to 3.1

- For the Blue Locate Tool, a change was made in the behavior of X and Y position clamping when using model matching. In version 2.1, these constraints were interpreted to apply to the position of the origin of the model coordinates. In version 3.0, they are interpreted as constraints on the position of the centroid of the nodes in the model.