eVision logo
Visual Search Technology Unleashing the power of visual e-business
News Technology & Products Business Solutions Developers About eVision

Also See:

Developer intro FAQ

Online documentation

eVe SDK

eVision Newsgroup

Discussion Boards

 home > developers > faqs > technical faq
eVe
The Official Technical FAQ and TroubleShooting Guide

This technical FAQ is divided into several sections:
    eVe Basics

What is a MediaObject?

A MediaObject is an object which contains an analyzed image, as well as information about that image. MediaObjects contain the following items:

  • Image properties such as height, width, size, etc
  • Signatures that capture the visual content (color, texture, shape, object)
  • Segmentation map
  • Thumbnail of the original image (orginal image itself if it is smaller than 128x128)
  • Path to the location of the original image
  • Date and time when the image is analyzed
  • Statistics related to the analysis process
  • Metadata

What is a MediaCollection?

A MediaCollection is a set of MediaObjects. The MediaCollection allows a user to add images (as MediaObjects), delete images, search the images contained in it with image queries.

   System Defaults and Recommended Parameters

What are all the system defaults?

maxRegions=3
maxIterations=999
maxNodes=128
maxBinSize=32
maxSearchBins=16
maxClusterIterations=50
maxClusterAccuracy=0.02
maxRegions is the maximum number of regions into which an image should be segmented
maxIterations is the maximum number of iterations the algorithm executes to generate the segmentation map and the signatures (the higher the better, but that takes more time)
maxNodes is the maximum number of retrieval results to be returned by the search
maxBinSize is the maximum number of signature vectors per cluster
maxSearchBins is the maximum number of bins (clusters) to search around the target bin
maxClusterIterations is the maximum number of iterations the clustering algorithm executes to generate the bins
maxClusterAccuracy is the percentage of overall data moved during an iteration of the clustering algo. This is another termination criterion
  Media Collections

How do I check to see if a particular MediaCollection exists?

If the directory in which the MediaCollection is stored contains a file named glrtree.odb, the MediaCollection exists.

If I create a MediaCollection, does eVe open it automatically?

Yes. If you create a MediaCollection, eVe opens it for you. When you are finished with the MediaCollection, call the MediaCollection's close() method.

Can I insert an image into a MediaCollection more than once?

Yes. Each inserted image receives a unique key.

  EDF (eVe Data Format) Files

When I insert an EDF into a MediaCollection, what key is used?

EDF files have a key (generated from a timestamp) that is stored in the EDF file. When you add an EDF file to a MediaCollection, the key contained in the EDF file is used.

What happens if I insert two EDFs with the same key?

(This situation would apply in a hosting model where we are receiving EDFs from outside sources and have no control over the date/time when external EDFs are generated) The second one is rejected. In this situation, you may have to open the second EDF file in a text editor (such as Windows Notepad or Emacs) and manually edit the key. Incrementing the key value by 1 (one) should solve the problem.

Is there a deleteProperty method for MediaCollections or for MediaObjects?

No. You cannot delete properties.

   Properties and Metadata

What is the difference between properties and metadata?

The main difference is that a property can contain any serializable object, whereas metadata items can contain only strings. Because metadata contains only strings, you can perform a text search on metadata items. You cannot search on properties.

What are the default properties in a MediaCollection?

The only default property in a MediaCollection is the CollectionName property.

What are the default properties in a MediaObject?

TBA

Why can't I add metadata to a MediaCollection?

MediaCollections do not contain metadata. They only have properties.

   Search and Retrieval

What are the defaults for searchParameters objects?

Color = 1.00
This is the only default. It sets the default search to be a straight color search.

Are metadata and property keys case-sensitive?

Yes.

What is the difference between the getRank() and getSimilarity() methods?

SearchResults.getRank() is used by internal search methods. SearchResults.getSimilarity() does the final similarity computation.

   C++ Questions  (C++ high level API wrappers coming soon)

How do primitive data types in Java get converted to operating system data types?

This is JVM-specific. Refer to your JVM's documentation for details.

How can I add a custom C++ object to a MediaCollection or MediaObject as a property?

Using a serializable object, convert the object to a byte array and attach it using the setProperty() method.

What is the difference between the two setSearch() methods in SearchParameters?

Both methods have the same functionality. The method which takes an additional (Boolean) value was added for compatibility.

To perform set operations, do you need an array of SearchResults objects?

Yes.

How do I perform a targeted region search?

At present, you cannot perform a targeted region search. This feature will be made available in the next version of eVe.

How do I use the high-level API to access an object contained in a property?

In the current release, the high-level API attempts to return every property as a string value. This will be modified in subsequent releases. In the meantime, use the low-level API or cast the value returned by the high-level API to the correct type.

   Other Questions

I'm working on applications which use previous versions of eVe. Is there an easy way to switch between versions?

eVision will provide conversions/patches as new versions of eVe are released.

How can I tell if an image has been analyzed properly?

If the analysis fails, it throws an exception.

How do I create a custom EveException?

Refer to Chapter 5, "Error Handling", in the eVe SDK API Reference Guide.

What types of image files can eVe handle?

The ImageManager.supportedImageTypes() method returns the types of files eVe can handle directly. In addition, you can use the ImageMagick application, included with eVe, to convert any of the following file types to types directly supported by eVe.

AVI

AVS

BMP

BMP24

Cache

CGM

CMYK

DCM

DCX

DIB

EPDF

EPI

EPS

EPS2

EPSF

EPSI

EPT

FAX

FIG

FITS

FPX

GIF

GIF87

GPLT

GRADATION

GRANITE

GRAY

HDF

HISTOGRAM

HPGL

HTML

ICO

ICC

ILBM

IPTC

JBIG

JPEG

JPEG24

LABEL

MAP

MAN

MIFF

MNG

MPEG

M2V

MTV

MVG

NETSCAPE

NULL

PBM

PCD

PCDS

PCL

PCX

PDB

PDF

PGM

PICT

PIX

PLASMA

PNG

PNM

PPM

PREVIEW

PRINT

PS

PSD

PS2

PS3

PTIF

PWP

P7

RAD

RGB

RGBA

RLA

RLE

SCAN

SCT

SFW

SGI

SHTML

STEGANO

SUN

SVG

TGA

TIFF

TIFF24

TILE

TIM

TTF

TXT

UIL

UYVY

VICAR

VID

VIFF

WBMP

WIN

WPG

WMF

X

XC

XBM

XPM

XWD