Update (February 5, 2018): We’re announcing Structure SDK 0.7.1 - a follow-up maintenance update to Structure SDK 0.7, which is considered a major release. Thank you to community members who identified a few things that only required quick fixes.
Today, we’re pleased to announce the release of Structure SDK 0.7! This is considered a major update to Structure SDK with a focus on support for Optical Image Stabilization (OIS) and a host of performance updates under the hood. From all of us at Occipital, we hope you enjoy this latest and greatest Structure SDK.
Structure SDK 0.7 introduces new features that take advantage of Apple’s OIS (available in newer iOS devices). To take full advantage of the new OIS-enhanced calibration, your Structure SDK apps must be updated with this new release. Until then, apps will still perform as well as they did before.
Structure SDK 0.7 also includes the following enhancements:
- A memory leak was fixed that could lead to problems after long-duration usage.
- Unity plugins have been updated to support Unity 2017.
- As always, a host of minor bug fixes that, cumulatively, will provide a better app experience for your app users.
- Several APIs have been simplified and improved.
For a full list of changes in this update, please see the Release Notes further below.
Download Structure SDK 0.7.1
In the image below, notice the shift of the shaded area upwards when the
OIS compensation is triggered by flipping the device upside-down.
With OIS compensation, the shaded area aligns properly to the underlying geometry in the scene. Your results may vary.
Full Release Notes
Calibration and Camera
- Calibration now provides better support for Apple’s Optical Image Stabilization (OIS) on the 10.5-inch iPad Pro and 12.9-inch iPad Pro (2nd generation) models, as well as iPhone 8, iPhone 8 Plus and iPhone X models. Lenses with OIS will shift when the device is rotated or moved, and this update compensates for the shift in realtime.
- Camera feed can now retrieve camera intrinsics provided by Apple’s framework:
- Third-party apps must inject code into their avCaptureSession to access this feature. An example is in Scanner App: ViewController+Camera.mm, line 288 to 297. This section of code must be placed before the call to [self.avCaptureSession startRunning].
- Utilizing this feature is the only way for developers to guarantee a consistent calibration on newer iOS devices (highly recommended).
- Fixed a memory leak that occurred when the sensor was plugged in, regardless of whether a Structure SDK app was running or not.
- Scanning stability is improved, and certain occasional latencies in 6-DoF pose have been removed.
- And many minor under the hood updates that will generally improve your app’s performance.
- Structure SDK Unity plugins have been upgraded to support newer Unity versions 5.3.4f1, 2017.1.1f1, and 2017.2.0f3.
- We’ve removed armv7, armv7s, and i386 architectures from the Structure SDK binary. These include devices with an A6 processor or older (e.g. iPhone 5C and iPad 4th Generation). Devices equipped with the A7 processor or newer continue to be supported. A7-equipped devices start with iPhone 5S, iPad Air, and iPad mini 2.
STMeshIntersector is a new utility class that replaces STMesh’s
intersectWithRayOrigin to compute the intersection of a ray to the mesh.
STScene initWithContext no longer needs the
STCameraPoseInitializerOutput lastOutput replaces the
hasSupportPlane methods in
STStreamConfigRegisteredDepth320x240 have been deprecated in favor of
STStreamConfigDepth320x240 should now be used with
registeredToColorFrame to achieve depth-to-color registration.