Write a cool extension for Opticks by June 4th, 2010 and have a chance to win either a PS3 or Nintendo Wii! The contest announcement and rules are available at: http://bit.ly/2I4bcs
Spectral Processing Extension 1.0.0 has been released on March 3rd, 2010.
View complete list of new features and fixed bugs.
Download Spectral Processing Extension
New Features
- Provide a importer to load Landsat TM and Landsat ETM+ files into Opticks.
- Provides the following algorithms to convert an image from radiance to reflectance: Empirical Line Method (ELM) and Internal Average Relative Reflectance (IARR).
- Provides the following algorithms to find signatures matches in an images: Spectral Angle Mapper (SAM) and Constrained Energy Minimization.
- Provides a specialized "Signature Window" plot to display and manipulate signatures including the ability to generate signatures from a scene (either a single pixel or a user created Area of Interest).
- Provides a specialized "Range Profile" plot to display and then manipulate signatures in order to better align them.
- Provides a number of methods to resample a signature to match the wavelengths of an image before applying a signature matching algorithm.
- Provides a capability to build libraries of many signatures which can then be exported to an ENVI Signature Library file.
- Provides some additional importers and exporters for both individual signatures and signature sets.
- Provides the Minimum Noise Fraction Algorithm (MNF) in order to preprocess an image and remove extraneous noise in order to improve later signature matching algorithms.
Supported Opticks Versions
- This extension is supported in any version of Opticks 4.3.X that is Opticks 4.3.3 or later.
Python Scripting Extension 1.0.0 has been released on March 3rd, 2010.
View complete list of new features and fixed bugs.
Download Python Scripting Extension
New Features
- This extension provides the ability to combine the power of Opticks and the Python language. This extension provides the Python scripting window which allows you to use Opticks to load and visualize your imagery and then directly interface that imagery with Python from within Opticks to manipulate and perform algorithms using the full power of the Python language.
- Python interfaces are built on the SimpleAPI interface provided by the Opticks SDK. You can read details in the main Opticks SDK documentation.
- This extension will work with an install of Python 2.4, Python 2.5 or Python 2.6. There is a separate version of the extension installer for each of those versions of Python. You should note that the extension installers that target Python 2.5 and Python 2.6 have a bundled install of Python, so you are not required to already have Python installed on your computer when using those extension installers.
- If you have installed the NumPy Python extension into your Python installation, it can be used to expose Opticks data structures, both RasterElements and Signatures using the powerful NumPy array data type. The NumPy extension provides capability very similar to what is available in IDL, Matlab, Octave, J, and other array programming languages.
- The Python extension is supported on Windows 32-bit and (unofficially) Linux 64-bit versions of Opticks 4.3.X. Key Python components are not currently available for Windows 64-bit or Solaris SPARC.
- Help on the extension is available in the Python opticks module which can be accessed by typing:
or by looking in $OPTICKS_HOME/SupportFiles/site-packags at the .py source files. Further help on the SimpleAPI interface is available in the Opticks SDK help documentation under the Simple datacentric API module. There are plans in the future to bundle html documentation along with extension.
Supported Opticks Versions
- This extension is supported in any version of Opticks 4.3.X that is Opticks 4.3.3 or later.
Opticks 4.3.3 has been released on March 3rd, 2010.
This release is intended to replace 4.3.2 as the recommended release.
View complete list of new features and fixed bugs.
Application Changes
New Features
- The Metadata tab in the Import Options dialog and Data Element Properties dialog now has a filtering capability to hide attributes based on name and/or value. (OPTICKS-660)
- A new wizard item, Run Interpreter Commands, was added. This wizard item can be used to run script commands for any supported scripting extension (currently IDL and Python with freely available extensions). This wizard item lets the user either specify the script commands directly or have them read from a file. (OPTICKS-780)
- Scripts (currently IDL and Python with freely available extensions) can now be packaged into an easily installable AEB. This is accomplished using the new Run Interpreter Commands wizard item, specifically the "Command File Location" argument. This argument can have a value like "$V(APP_HOME)/SupportFiles". When the wizard is executed, "$V(APP_HOME)" will be expanded into the full path of where Opticks is installed on the end-users computer. (OPTICKS-838)
- The user can now more easily edit vector<string> Value items in the Wizard Builder and vector<string> types in the Medata by configuring their text editor of choice in the Tools->Options. This feature was designed to be used with the new Run Interpreter Commands wizard item, so that users can directly edit script commands in the wizard builder using their text editor of choice. By default, the system configured editor for *.txt files will be used. (OPTICKS-779)
- Several new wizard items were added to query for Layers, Data Elements, Views, and more at wizard execution time. When the wizard is executed, the user will be able to interactively browse and select which Layer, Data Element, View to use. These wizard items can be created by double-clicking on an input node of a supported type. (OPTICKS-805)
- The Wizard Builder now supports editing the values of multiple Value Items simultaneously. In addition, a new keyboard shortcut was added to edit all of the selected Value Items (Ctrl+E). (OPTICKS-805)
- A new importer is available which allows FITS data to be loaded into Opticks. 2-D and 3-D data cubes can be loaded as well as 1-D signatures/spectra and 2-D signature/spectra libraries. (OPTICKS-828)
- The default behavior for importers in wizards has been changed. Importers will no longer show up as available wizard items. The Import Data Set wizard item should be used instead. This change was made to simplify wizard creation. Any existing wizards created with earlier versions of Opticks will continue to work. (OPTICKS-597)
Bug Fixes
- After loading an NITF data set with an RPC TRE, opening the Georeference dialog now correctly displays the RPC georeference option. (OPTICKS-481)
- Flattening an annotation layer when the data set has been flipped now works properly. (OPTICKS-537)
- The image no longer dramatically and unexpectedly changes size when the user shows the inset (Ctrl + Right-Click) on one of the views linked by two-way lat/lon link. (OPTICKS-568)
- The Movie Exporter can now export animations with frame speeds less than 1. (OPTICKS-578)
- Exported JPEGS on Solaris no longer display a progress dialog. (OPTICKS-627)
- The command text color in the Scripting Window no longer changes after pressing Enter with output text selected. (OPTICKS-689)
- An annotation object's size is now maintained when copying and pasting the object. (OPTICKS-702)
- An incorrect error message no longer appears in the message log after attempting to move the Layout layer on top of the Classification layer in a product. (OPTICKS-737)
- The spatial data window now correctly closes regardless of the Confirm Close option when deleting the raster element in the session explorer. Previously, the element would be deleted, but the window would remain open and empty. (OPTICKS-739)
- The animation performance of a view with shape file layers will now improve if the shape file layers are hidden. (OPTICKS-752)
- The animation toolbar slider now restores to the correct position when loading a session. (OPTICKS-754)
- The ENVI Library importer will now import the proper file when the user selects the sli file for import. (OPTICKS-769)
- The application no longer crashes when attempting to flatten a shape file annotation layer. (OPTICKS-776)
- Undo/redo now works correctly for adding and removing text and lat/lon insert annotation objects. (OPTICKS-777)
- The user can enter text containing a comma followed by a space into both vector<string> Value item in the wizard builder and into vector<string> items in the Metadata. (OPTICKS-788)
- The application no longer crashes when attempting to connect an input node to another input node or an output node to another output node in the wizard builder. (OPTICKS-791)
- The ArcProxy.exe no longer crashes when the ArcGIS license is missing. It will instead quietly disable those extra features that can utilize an ArcGIS license. (OPTICKS-793)
- The annotation toolbar is now correctly enabled automatically when creating a product. (OPTICKS-795)
- Closing a product that was restored from a session file no longer crashes the application. (OPTICKS-797)
- Opening a session containing a text object in a product no longer crashes the application. (OPTICKS-797)
- The following AOI types: point, line, polyline, polygon, and rectangle are now being drawn properly when off to the left or above the image. (OPTICKS-814)
- The AOI object text label is now properly restored in a session when the label is hidden. (OPTICKS-825)
- The annotation toolbar in a plot is now correctly enabled when loading a session where the Annotation mouse mode was enabled in the plot. (OPTICKS-839)
- The application no longer crashes on exit after loading a session with a histogram plot containing a text annotation object. (OPTICKS-840)
- The Measurement toolbar mouse mode now updates properly when switching between windows. (OPTICKS-841)
- The axis values on a plot are now restored correctly when loading a session. (OPTICKS-842)
- A data set histogram plot is now correctly closed when closing the data set after loading a session. (OPTICKS-843)
- ENVI Spectral Libraries (.sli) with bad bands (bbl) will now load, previously the file would be rejected as invalid. However, the bad bands are still not being handled correctly, that will be fixed later, you can follow OPTICKS-663 for more details. (OPTICKS-847)
- Editing metadata values on import and switching to another data set now correctly prompts the user to save the metadata changes. (OPTICKS-848)
- A bug has been fixed which prevented install of any additional AEBs after an AEB had been installed which had an Incompatible clause. (OPTICKS-845)
- AEBs with dependencies between them can now be installed in a single install action. Previously this might fail depending on the order the AEB filenames were processed by the application. (OPTICKS-852)
Extension Developer Changes
- Cg feedback filters are now initialized properly. (OPTICKS-822)
- A crash which could occur on session restore of custom data elements has been fixed. This occurred due to an uncaught XmlException. (OPTICKS-827)
- A possible crash which could occur on session restore of custom graphic objects with custom properties has been fixed. This occurred because of a double deletion. At the time of this fix no known code would cause this crash to occur. (OPTICKS-844)
- The "Bin" content of an AEB is now installed into the proper location (the directory where Opticks.exe resides) for developers that are running Opticks out of an SDK. For end-users using an Opticks install, any "Bin" content will be installed in the same directory it was prior to this release. (OPTICKS-800)
SDK (Software Development Kit) Changes
New Features
- The signature selector dialog now has the capability for the user to create, edit, and delete custom signature filters. The signature filters allow filtering out individual signatures in a signature set/signature library. Also, the signature filters now support filtering based on signature name in addition to metadata attribute name and/or value. In order to utilize this new capability, you need to rebuild against this SDK release. All of these changes are source compatible. (OPTICKS-659)
- This release marks the debut of the SimpleAPI. This is a simplified function oriented API to Opticks that only utilizes C calling conventions. The purpose of this API is to allow scripting or other simplified interfaces to be interfaced to Opticks. The SimpleAPI is distributed as a dynamic library (.dll, .so) with the Opticks application installer. The C interface files are distributed with the Opticks SDK, but are not directly required to utilize the SimpleAPI. For more information, the SimpleAPI has been documented along with rest of the Opticks SDK documentation. (OPTICKS-721) (OPTICKS-855)
- The BitMaskIterator was improved. Specifically, it can now be used traverse both a RasterElement with no BitMask and a RasterElement with a BitMask. This allows complicated algorithms previously using two code paths to collapse into a single code path. In addition a number of convenience functions were added to simplify usage of the class. (OPTICKS-801)
- A new RasterElementExt1 class was added, please read the SDK documentation for details. (OPTICKS-721)
- A new SignatureLibraryExt1 class was added, please the SDK documentation for details. (OPTICKS-847)
Bug Fixes
- In the Custom Mouse Mode sample plug-in, the Display Pixel Coordinate custom mouse mode toolbar button is now correctly restored onto the toolbar when restoring a session. (OPTICKS-454)
- The default behavior for importers which inherit from ImporterShell or a subclass has been changed. setWizardSupporter(false) is now the default setting. Only importer plug-ins which rebuild against this SDK release will see this change. (OPTICKS-597)
IDL Scripting Extension 1.0.2 has been released on March 2nd, 2010.
This release is intended to replace 1.0.1 as the recommended release.
View complete list of new features and fixed bugs.
New Features
- The IDL scripting extension now supports IDL 7.0 and IDL 7.1 in addition to the existing support for IDL 6.1, IDL 6.3, IDL 6.4. (EXTRAS-20, EXTRAS-19)
- The IDL scripting extension installer now includes the "debug binaries" so that it can be seamlessly used with "debug" builds of Opticks. This is most useful for developers building their own Opticks extensions that wish to use the IDL scripting extension. (EXTRAS-13)
- The IDL scripting extension has the following new functions, which were added to allow better interfacing to other parts of Opticks, such as wizard items:
- opticks_array_ondisk_rows, opticks_array_ondisk_columns, opticks_array_ondisk_bands, opticks_array_original_rows, opticks_array_original_columns and opticks_array_original_bands (EXTRAS-23)
Supported Opticks Versions
- This extension is supported in any version of Opticks 4.3.X that is Opticks 4.3.0 or later.