Noesis (software)

Noesis is software for viewing, converting, and reverse engineering data. Common data types supported by the software include images, 3D models, medical imaging (DICOM), and animation.

Noesis was created and is actively maintained by video game programmer Rich Whitehouse. The software supports hundreds of file formats, with a focus on allowing users to understand and analyze data in a way which would not be possible without reverse engineering. This is exemplified by the software's support for many proprietary file formats (including, more recently, animation data from the video game Final Fantasy XV), in tandem with a continued focus on user plugins and Python scripting features. Noesis has also received a great deal of community support, with native plugins and scripts available to add support for hundreds of additional file formats.

History
A full version history is maintained in the software's current documentation. Articles have been written to elaborate upon the addition of notable features throughout development, including Python support, physically based rendering, and Autodesk FBX support.

Noesis has been leveraged for numerous well-publicized projects. In late 2010, a video was published to demonstrate the software's real-time physics simulation and Microsoft Kinect motion capture ability. Footage of a real-world subject being tracked in a range-mapped depth view can be seen alongside a rendered view of Ivy, a character from the Soulcalibur series. The character's movements echo the subject's and demonstrate real-time collision between the character's limbs and breasts. The video was featured by numerous press outlets, including Kotaku and The Escapist.

On August 6, 2014, an article was published on a Library of Congress blog, in which Trevor Owens chronicles his discovery of a disc containing an unreleased copy of Duke Nukem: Critical Mass for the PlayStation Portable. In the article, Noesis is used to explore the game data, and an animated GIF embedded in the article shows a jetpack-equipped Duke Nukem rendering inside of Noesis.

Another article was published by the author of Noesis on the Video Game History Foundation blog on October 7, 2017. In this article, the author explores the source code and data of Disney's Aladdin for the Sega Genesis. Readers are invited to follow along with the use of Noesis, leveraging support for extracting and viewing data from the retail distributions of the game.

In December 2018, a script was created for Noesis in order to generate levels for the video game DOOM by tracking the movements of a Roomba. This script, titled DOOMBA, received coverage from a wide range of press outlets, including Variety, Engadget, Popular Mechanics, Polygon, PC Gamer, Digital Trends, Hackaday, Gizmodo, and The Verge.

Features
Noesis is most commonly known for its ability to view and export 3D model and animation data across many different file formats. However, the software also employs native plugin and scripting APIs. Plugins and scripts have been leveraged extensively to provide new functionality, including new file format support, hex editors, binary scanners, a mesh voxelizer, a native debugger and disassembler, a web server for sharing models, a software rasterizer, various visual tools (such as a geometry picker and material selection widget), and a motion capture interface.

Some notable formats and standards supported by Noesis include:
 * 3D Studio Max (legacy .3ds and .ase formats)
 * Autodesk FBX
 * Biovision Hierarchy
 * Build Engine
 * COLLADA
 * Deluxe Paint
 * DICOM and other formats common to MRI, CT, PET, PET-CT, etc. devices
 * Final Fantasy VII, Final Fantasy VIII, Final Fantasy IX, Final Fantasy X, Final Fantasy XI, Final Fantasy XII, Final Fantasy XIII, Final Fantasy XV, and others in the Final Fantasy'' series
 * glTF (1.0 and 2.0)
 * Various id Tech derived games and engines
 * Gamebryo, including recent revisions for The Elder Scrolls V: Skyrim and Fallout 4
 * Unreal Engine 4
 * VOX, KVX, and other voxel formats
 * ASTC, S3TC, PVRTC, and many other forms of texture compression
 * Texture, geometry, and memory formats specific to many different console systems
 * Common image and model formats, including GIF, JPEG, JPEG 2000, PNG, OBJ, PLY, STL, and many others
 * Hundreds of unique game formats, including those used in Battlezone, Bujingai, Chasm: The Rift, Duke Nukem Forever, Desert Strike, Jedi Knight, Messiah, Space Channel 5, Tokyo Jungle, and many others

Because Noesis is under active development, the list of supported standards and formats (and the notability thereof) is still routinely changing.