What is New in Dinamica EGO 5.2.0

(ChangeLog compared to Dinamica EGO 5.1.0)

Dinamica NUI (Application Graphical User Interface)

  • Fixed issue in Chart tab of LookupTableEditorPanel when null.
  • Removed invalid assertion: createFunctor is allowed to fail due to incompatible container.
  • Added Spell Checker Button to String Editor
  • Removed unused imports.
  • Added confirmation Dialog Box to CategorizationEditor.
  • Fixed ImageExpressionEditor not disabling the identifier buttons when the component is disabled
  • Fixed StringEditor not disabling the identifier buttons and the spellChecker button when the component is disabled
  • Added a new name to the developer list; explicitly defining the size of the About window to make sure all developer names are visible.
  • Added internal input and output port information in GraphFunctorDocumentationPanel
  • Customize Tab/Group drop down menu using content from other exported ports in SubmodelPortEditorPanel
  • Added tab/group information for the ports in the SubmodelFunctorExportedPortsDialog
  • Added type information for the columns in the TableEditorPanel
  • Placed the Advanced tab as the last tab in functor editor.
  • Prevent functors created by drag-and-dropping external files to be stacked on the top of each other.
  • Added type information for the columns in the ConfigureTableColumnsPanel
  • Removed unused method and unused imports.
  • Fixed inconsistency in the naming of the Check For Update related buttons.
  • Added function to get table format from disk file in the ConfigureTableColumnsPanel
  • Removed unused event handlers.
  • Added confirmation when importing table format from a table file.
  • Fixed typo in message.
  • Fixed bug where the type information was being lost when applying changes in the ConfigureTableColumnsPanel
  • Fixed bug where the type information was not added to the column label, but to the column text in the ConfigureTableColumnsPanel
  • Added function to update all submodels in the SubmodelStoreDialog
  • Added the code to activate the validation when the submodel is imported to a Script Editor
  • Fixed bug where the UpdateManager could erroneously be invoked on a system other than Windows.
  • Hide components related to auto updating from being displayed in platforms other than Windows.
  • Assume that input ports are optional when exporting them as part of a submodel and they have an editor defined
  • Extend drop area for small and big icon and add icon removal function
  • Added keystroke to enable/disable showing additional information about a functor on its tooltip.
  • Fixed bug where the additional information about a submodel was not being displayed on its tooltip.
  • Fixed bug where the keybindings for some global actions were not working all the time.
  • Defined keybinding to change the main window size to match 1080p.
  • Added another shortcut for showing additional debugging information for functors on their tooltips.
  • Expand groups and subgroups in the Functor Library when a new functor is installed
  • When creating hook functors, define automatically the editor representing the hook index.
  • Added release notes to the help menu in the menu bar
  • Add undo and redo actions for StringEditor and ImageExpressionEditor.
  • Updating changed UndoRedo constructor.
  • Fixed typo in variable name.
  • Fixed bug where the group containing an installed submodel would not be expanded after the submodel installation if a tab other than the one containing all available functors/submodels were selected.
  • Removed unused definition.
  • Removed unused code.
  • Definition of method to return list of all groups and subgroups containing functors/submodels in the functor library.
  • When editing a submodel, populate the group drop down menu with all groups present in the functor library.
  • Add highlight to the format string in CreateString.
  • Definition of a new memory policy (Aggressive) that keeps input maps in disk and allocates them on memory.
  • Allow the display of placeholder editors corresponding to non-editable input ports in the functor editor dialog.
  • Avoid throwing an error when forcing the expansion of a node in the functor tree but that node is hidden by an active search.
  • Make sure the Projection tree scrollbar is always aligned left to avoid hiding the tree node handles when expanding a node.
  • Fix the presentation of how many functors exist in a given group in the functor library for favorites and also when a search is active.
  • Add predefined table format representing reports produced by Determine Weights of Evidence Correlation.
  • Updated info about python version to 3.8.0.
  • Fixed typo.

Image Viewer (Map Viewer)

  • Optimization to remove memory leaks when opening images in the viewer.
  • Redefinition and optimization of the presentation of legends for categorical maps to prevent excessive garbage collection when hundreds of classes exist.

Dinamica NUI Utils (Graphical User Interface Utilities)

  • Added option to define the color of the icon border; refactoring.
  • Add the formatType function for column names in the TableUtils
  • Expand groups and subgroups in the FunctorLibrary when a new functor is installed
  • Create class for Undo and Redo Actions.
  • Changing UndoRedo Constructor and excluding unnecessary action classes.
  • Added class BoundsPopupMenuListener to control the size and some other aspects of drop down menus.
  • Definition of method to return the number of visible leaves in a sub-tree.

Dinamica (Application Core and DLLs)

  • Remove assertion: It is possible for “result” to be true when the functor found is nullptr.
  • Removing unused scripts that were previously used to created makefiles from the cmake file.
  • Adding script to generate makefiles for Visual Studio 2019.
  • Changes in the instantiation of editors and viewers to avoid the use of raw pointers.
  • Fixed bug column index out of bounds on AddTableColumn.
  • Fixing issue in the definiton of defaultEditor for GenericFilenameData.
  • RasterizeShape now always save Tiff images as BigTiff.
  • Removed outdated comments.
  • If possible, performs the copy of image layers in parallel.
  • Prevent handler from being closed after failing to perform an operation that was only supposed to read data from the underlying image.
  • Fix bugs causing temporary files to be removed at the wrong time when shared across several tasks; Addition of new test case; Adaptation of existing test cases.
  • Fix bug in InsertMapLayer that was not informing the copy optimization system that the input layer was also being modified.
  • Fix implementation of ExtractMapLayer to make sure its behavior is compatible with the copy optimization system; Definition of mode that allows ports to bypass the copy optimization system and explicitly copy the input data only when necessary; Addition of test case showing the problem.
  • Definition of convenient constructor for ScopedLogLevel.
  • InputPort::setDataEditor() is now a public method.
  • GeneticAlgorithmTool optimizations: now the calculations of the fitness values for different individuals in a generation are performed in parallel; Fixed bug where the parameter MaximumLogLevel could be ignored in some cases.
  • Adding script to install dependences on Linux
  • Add information about all the tasks that were running concurrently when an assertion was trigged to the corresponding report.
  • Fix use of sourceLayer by CalcPatchLabelMap to make sure it can run in parallel with other functors.
  • Fix potential bugs when CalcKernelMap executes concurrently with another functor using the same input map.
  • Fix intermittent compilation problems when rebuilding the whole project.
  • Removed outdated files.
  • Definition of hasNull() for multi-layer maps.
  • Definition of method translate() to translate the position of a coordinate.
  • Calc Cost Map can now produce a cost direction map when calculating cost surfaces; refactoring and organization of functor code; update of test cases.
  • Calc Pathway Map can now also receive a cost direction map; proper use of “copy optimization” for the network map; refactoring and organization of functor code.
  • Calc Cost Allocation Map can now also receive a cost direction map; proper use of “copy optimization” for the source/allocation map; refactoring and organization of functor code; update of test cases.
  • Data viewer no longer throws an error when its peer is empty.
  • Adapted relevant data viewers to comply with new behavior.
  • Apply virtualization and selective copy optimization to the inputs of Calc Cost Allocation Map.
  • Additional test case.
  • Apply virtualization and selective copy optimization to the inputs of Calc Pathway Map.
  • Fixed bug with the “Merge Network” flag not working properly.
  • Calc Pathway Map: Ignore path creation when the first cost/direction cell is null.
  • Fix bug on border analysis in CalcPatchLabel.
  • Fix a bug where CMakeLists.txt wouldn't work on Windows path's with space.
  • Fix Eigen3 includes on DetermineTransitionMatrixFunctor.cpp
  • Fix compile error on MapIOHandler on gcc and clang.
  • Updated getSharedOwnershipCount() to avoid creation of temporary atomic values when the handler ownership is not being shared.
  • Avoid assertion when PyUnicode_FromString() fails to convert table cell values to Unicode.
  • Fixed broken test cases.
  • Adjusting toTable python function to accept int header on Table.
  • Taking off print on toTable python function
  • Definition of methods to return a default value when properties are not defined.
  • Fixed bug where de detection of the equivalent functor could fail depending on the copy pattern of a script.
  • Now toString() also includes the list of properties when dumping the content of a script or functor.
  • Definition of a new memory policy (Aggressive) that keeps input maps in disk and allocates them on memory.
  • Fixing indentation and comments.
  • Fixed error in test case.
  • Fixing Mac's image expression compile library.
  • Changing Mac's Python Environment location.
  • Changes on CMakeLists for Mac.
  • Update getPropertyValueAs function to explicit indicate template argument 'TypeT': Clang and GCC could not infer the template.
  • Include on Platforms folder the Mac files to build Dinamica.
  • Update Python lib used by Dinamica on Mac.
  • Put flag to mac on python location in CMakeLists.

For general information about version 5 of Dinamica EGO, see Whats Is New In Version 5.