Update 0.7.1 (April 2019):
We’re announcing Structure SDK (Cross-Platform) 0.7.1 - a follow-up maintenance update to Structure SDK (Cross-Platform) 0.7, which is considered a major release.
This release requires Structure Core firmware version 0.9.6. If your sensor has firmware version 0.9.3 or 0.9.4, you can use the included CoreFirmwareUpdater tool to upgrade. If your firmware version is older than 0.9.2 (i.e. 0.8.6), please contact Occipital for support in upgrading your sensor.
Release type: Windows, Linux, macOS, Android
Firmware: Version 0.9.6 required
Architectures: x86_64 (Windows/Linux/macOS), arm64 (Linux/Android)
StructureCoreDepthRangeModepresets have been reconfigured internally to work better across Structure Core devices.
DepthFrameto help with rendering depth frames using a color map.
DepthFrame. Outputs a gray, 3D point cloud as a PLY mesh.
DepthFrame::saveImageToPngFilenow outputs a 16bit PNG image with each pixel holding the depth value in millimeters.
- Additional documentation for
saveImageToPngFilefunctions for all
CameraFramestypes. Details output pixel format and image type.
- The default
StructureCoreDepthResolutionenum is now VGA instead of QVGA.
BodyScanningenum preset to
CaptureSessionSettings. Returns the estimated min and max depth values possible for a specified
CaptureSessionEventId. Useful for registering when the internal driver has officially started streaming frames.
Utilities.h. Used to create directories when they do not exist for each platform.
- The SDK can now detect and report when the Windows USB Driver for Structure Core is not installed.
CaptureSessionEventIdto report out when the Windows USB Driver for Structure Core is detected to not be installed.
DepthFrameis now on by default.
CaptureSessionUSBVersionis now displayed in the Streaming GUI.
- Full OCC recording is now supported. Click on the “Record OCC” button in the Streaming GUI to start, and again to stop. The output OCC file will be in your Documents folder in
- A button to export a snapshot on all streaming sensor,
Save Images & PLY, has been created. The output images will be in your Documents folder in
- The color map table when rendering depth frames now uses the estimated min and max depth of the specified
- When a
StructureCoreDepthRangeModeis specified, the exposure and gain UI sliders for infrared frames now correctly adjust to the presets internal values.
- When One-shot calibration is enabled, it will no longer be enabled when returning to the Configuration GUI from the Streaming GUI after streaming is stopped.
CaptureSessionUSBVersionwill always return USB1 if the USB port in use is not USB3.
- When streaming on multiple sensors over a USB2 port with FrameSync enabled, some frames may not be delivered. (Such as VGA Depth + Infrared, both 30FPS)
We’re super excited to announce the release of Structure SDK (Cross-Platform) 0.7!
This is our first major update to the Structure SDK (Cross-Platform) since releasing Structure Core. It now features a unified API across all supported platforms, and adds full macOS support.
With this release, we have focused on a number of different improvements to both the firmware found within Structure Core and the software it interacts with.
These improvements include dynamic calibration, improved color frame conversion with options, and a cross-platform core playground sample application.
Full Release Notes
This release requires Structure Core firmware version 0.9.4. If your sensor has firmware version 0.9.2 or 0.9.3, you can use the included CoreFirmwareUpdater tool to upgrade.
- Release type: Windows, Linux, macOS (new), Android
- Firmware: version 0.9.4 required
- Architectures: x86_64 (Windows/Linux/macOS), arm64 (Linux/Android)
If your firmware version is older than 0.9.2, please contact firstname.lastname@example.org for support in upgrading your sensor.
Dynamic Calibration (Beta)
Dynamic Calibration can recover depth in a situation where the sensor is deformed due to mounting, impact or other causes.
With the new demosaic option, all Structure Core (Color) will see improved color. These improvements are made by making improvements to the color pipeline.
Cross-Platform Core Playground
This package contains the official cross-platform release of Core Playground, a tool that enables testing and tweaking of streaming functionality on Structure Core. You can enable streams for every sensor on the device and adjust their settings.
This version of Core Playground replaces the previous macOS-only preview release.
getImuFromVisibleExtrinsicsfunctions to CaptureSession.
- Added support for Structure Core dynamic infrared calibration. See StructureCoreDynamicCalibrationMode. This is a beta feature and is disabled by default.
- Added options for Structure Core color frame conversion. See StructureCoreDemosaicMethod.
- Added default values for StructureCoreVisibleResolution and StructureCoreInfraredResolution.
- Structure Core visible frame gamma correction is now enabled by default.
saveImageToPngFilefunction for DepthFrame, ColorFrame, and InfraredFrame.
- ConnectedSensorInfo and
enumerateConnectedSensors()are no longer defined in terms of C++ STL types. This resolves a crash on Windows when using
enumerateConnectedSensors()in combination with the C++ multithreaded debug runtime (
- References to functionality specific to iOS and Structure Sensor have been removed.
colorFramemember of CaptureSessionSample has been renamed to
MathTypes.hppheader has been merged into
CaptureSession::sensorSerialNumber()is deprecated in favor of
CaptureSession::sensorInfo()which returns additional information.
GL.hheader has been removed.
- Removed iOS-specific IMU data types from
- Removed iOS-specific functionality from
- Removed unused functionality from
- Added Android-specific function
registerSensorByUSBFileDescriptor()which replaces USB device file descriptor and path options in CaptureSessionSettings.
- Additional documentation for CaptureSessionUSBVersion.
- All platforms now share the same sample codebase and are built with CMake.
- CorePlayground is now cross-platform and includes source code. It replaces the platform-specific Recorder sample apps from previous SDK versions.
- The Linux SimpleStreamer example is now available for all platforms.
- The size of the Structure library has been reduced by over 50%.
- Full support for macOS has been added.
- The size of the Structure library has been reduced by over 50%.
- The auxiliary libraries
libusb1.0.sohave been removed from the SDK.
- Structure Core devices may reboot continuously if connected to a standby charging USB port (often marked with a lightning bolt or battery symbol). A powered USB hub or a different port should be used instead until this issue has been fixed.
- Camera and IMU streams may fail to initialize when repeatedly starting and stopping the streams.