|| home > developers > faqs > developer intro faq
This FAQ answers basic questions about eVe functionality, coding and licensing:
What is the eVe SDK?
The eVe Software Developers Kit (SDK) is a programming toolkit for building image analysis and visual search applications for the recognition and retrieval of images. The components include Java class libraries, sample programs with source code, sample images, and complete reference documentation. You can sign up to download the eVe 3 Professional Developer Trial SDK here.
What does the eVe SDK do?
The eVe SDK provides the tools a programmer needs to write programs that acquire, process and manage visual assets while assisting the development of natural and intuitive user interfaces that work the way humans think. It provides a Java API (and soon C++ & COM) for image analysis, storage, content-based retrieval, format conversion and more. Built in functions distill an image to a condensed descriptor called a visual signature which is a vector composed of the calculated values for its four basic properties of color, shape, texture, and object region.
Note: the eVe SDK toolkit is primarily a set of building blocks for building visual search applications, and is not an end-user application itself. The toolkit includes examples that demonstrate the sorts of things that can be built with the SDK. These simple examples can serve as a starting template for building more sophisticated SDK-based applications.
Where can I get the eVe SDK and what are the usage restrictions for the free SDK?
You can sign up to download the eVe 3 Professional Developer SDK - Evaluation Release here.
The downloadable SDK is limited to 500 images. This restriction is removed when licensing the full SDK. Using the downloadable SDK you are permitted to develop complete working applications to show to clients and to use as demos. However you may not resell or redistribute the SDK, you may not deploy the SDK for production use and the SDK can be used only by the developer the software is licensed to.
What languages can I use to develop with the eVe SDK?
The low level API is Java-based. The high-level
API is currently Java, but C++ and COM wrapper are being
developed. Depending on your application requirements and
development preferences, you will be able to use any version
of the high-level API.
What are the system requirements for developing with the eVe SDK?
eVe SDK currently is available for WinNT/2K/XP, Linux, MacOS X, IRIS and Solaris environments. Minimum requirement for an eVe server is 256MB RAM and 100MB of disk space (this includes the test database).
The server operating system can be Solaris 2.6 or above, Mac OS X, IRIX 6.5 or above, WinNT Service Pack 5 or above, WinXP or Win2000. A 400-MHz Pentium-compatible processor or above is needed for WinNT, WinXP and Win2000.
Do I need Java installed on my system? Which version?
JDK 1.3 or above is needed. A JDK is packaged with the eVe server install. You can, however, use your own JDK if one is already installed on the server and meets the requirements.
In the SDK demo I can search on shape, color, texture and by object. Using the SDK can I search on several characteristics at once?
Yes. You can customize which characteristic or combinations of characteristics eVe uses to determine and compare similarities.
Can eVe process large images (i.e. hi-res print images)? What formats does it support?
Yes. There is no inherent limitation on the size of the images. eVe supports static, two-dimensional images such as still photographs or video keyframes, as well as audio information. The images may be bitonal (black & white) images, grayscale photographs, or color photographic images. The source of the images is unimportant: they might be produced by a scanner, a digital camera, a video recorder connected to a digitizer or frame grabber, or even generated by a program. eVe can import over 68 major formats including popular formats like TIFF, JPEG, PNG, PDF, EPSF, BMP PICT, YUV, Photo CD, and GIF. You can see a complete list of the file formats in the technical faq.
What is a Visual Signature and how do I create it?
The eVe engine automatically segments an image into distinct object regions, then generates scale-independent descriptions of those regions, known as visual signatures. An images visual signature is a double array vector composed of the calculated values for its four basic properties of color, shape, texture, and object. These visual signatures are organized in a proprietary indexing scheme for extremely fast retrievals. A comparison of images is done by comparing the visual signatures. To generate a visual signature for an image, you instantiate the MediaObject, load the image into it and pass it to the analyze method within the analyze class. The API-reference documentation contains an example "Analyzing a file" code.
Can I create my own Visual Vocabularies?
Yes. A visual vocabulary is a representative list of images that fit a certain set of criteria. Currently the SDK doesn't provide automatic Visual Vocabulary extraction. However, the user can manually pick the vocabulary images and use the metadata tags to designate them as vocabulary items. The automatic extraction will be available in the near future.
How easy is it to integrate eVe into existing text-based DAM solutions or search engines?
It is very easy to integrate. The API allows the programmer to create, maintain and search visual indices independent of the text indices. The API also allows visual searches within a target set of images and lets the user combine search result sets using Boolean logic. So the capability of an existing text-based DAM solution or a text-based search engine can be easily extended to include visual search.
Does eVe run under Linux? Under Mac OSX? Under IRIX?
eVe is fully cross-platform and is not tied to any particular hardware or OS. The current SDK has been developed for Win32, Solaris, Linux, IRIX and Mac OS X.
If I want to use eVe to develop an application for sales, what are the licensing requirements?
The downloadable eVe SDK is intended for creating demo and exploring the API. For the production version, eVe server is licensed based on number of CPUs. eVe client is licensed based on number of named or concurrent users. If you would like to license the production API, please contact firstname.lastname@example.org.