ICSV - Image Color Similarity Visualization
Vienna Technical University - Course 'Visualization 2'. Author: Stefan Spelitz (0925601)
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 CAppHostBase
 CICSV.Host.AppHostInitial configuration point of a ServiceStack web service application with a singleton AppHost.
 CICSV.Server.AxesBuilderThis class is responsible for finding axes for the given images. It will rotate the whole coordinate system if necessary to preserve consistency in appearence.
 CICSV.Interface.Types.AxisUpdateAn update for an axis. Included in the list of an GetImageResultsResponse object.
 CICSV.Interface.Operations.CancelSearchDTO for cancelling a currently ongoing search
 CICSV.Server.Images.ColorSpaceConverterConverts Bitmap data from sRGB -> XYZ -> CIE Lab color space, using D65 white point.
 CICSV.Server.CoordinateCallbackCallback interface. Useful for status updates of the CoordinateProvider.
 CICSV.Server.PrepareImagesClass responsible for chaining together the different stages of an image search. Chain: PrepareImages -> ImageProvider -> DistanceProvider -> CoordinateProvider -> PrepareImages
 CICSV.Server.CoordinateContainerData container class, holding 2D and 3D coordinates.
 CICSV.Server.DistanceCallbackThe callback interface used by the provider to report status updates.
 CICSV.Server.CoordinateProviderThis class is responsible for calculating coordinates for images.
 CICSV.Server.FastEMD.EdgeSee https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Aux.java
 CICSV.Server.FastEMD.Edge0See https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Aux.java
 CICSV.Server.FastEMD.Edge1See https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Aux.java
 CICSV.Server.FastEMD.Edge2See https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Aux.java
 CICSV.Server.FastEMD.Edge3See https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Aux.java
 CICSV.Server.Signatures.ElementHelper class for kd clustering
 CICSV.Interface.EMDConfigWeb server configuration data container.
 CICSV.Server.FastEMD.FastEMDSee https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/JFastEMD.java
 CICSV.Server.Signatures.FeatureSee https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Feature.java
 CICSV.Server.Signatures.Feature2DSee https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Feature2D.java
 CICSV.Server.Signatures.Feature3DSame as Feature2D but with 3D coordinates
 CICSV.Interface.Operations.GetImageResultsDTO for getting image results for the given search id. The result will be of GetImageResultsResponse
 CICSV.Interface.Operations.GetImageResultsResponseThe response to an image results request
 CICSV.Interface.Operations.GetStatusDTO for requesting the status of a currently ongoing search. The result will be of GetStatusResponse
 CICSV.Interface.Operations.GetStatusResponseThe response to a status request
 CHttpApplication
 CICSV.Client.GlobalConnects the ServiceStack AppHost with the ASP.NET application
 CIEquatable
 CXnaGeometry.BoundingBoxXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.BoundingFrustumXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.BoundingSphereXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.MatrixXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.PlaneXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.PointXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.QuaternionXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/ Modified by Spelitz: Method 'ToMatrix' was incorrect.
 CXnaGeometry.RayXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.RectangleXnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.Vector2XnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.Vector3XnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CXnaGeometry.Vector4XnaGeometry from http://www.technologicalutopia.com/sourcecode/xnageometry/
 CICSV.Server.ImageContainerThis class holds all relevant information about an image, before distances are calculated and a position is applied.
 CICSV.Interface.Types.ImageDataNew data of an image or an update for an existing image. Included in the list of an GetImageResultsResponse object.
 CICSV.Server.ImagePairInternal class for identifying a pair of images. The pair is uniquely identified by a combination of the identifiers of both images.
 CICSV.Interface.Types.ImagePositionThe image position (2D or 3D) for an ImageData object.
 CICSV.Server.ImageProviderThis class is responsible for searching images on the web (i.e. on Flickr) or loading local images. After loading, signatures are created, which can be then used to calculate the Earth Mover's Distance.
 CICSV.Server.ImageProviderCallbackInterface for the callback registered at the ImageProvider. The callback is valid for one search session.

See also
ImageProvider.searchImages
 CICSV.Server.DistanceProviderThis provider is responsible for calculating Earth Mover Distances between images. It gets notified about new images by the ImageProvider. It works asynchronously and uses multiple threads to effectively calculate the EMDs.
 CIService
 CICSV.Server.IntroServiceWeb-Service (via ServiceStack framework) to control the server. Responsible for starting a new image search, cancelling, retrieving status, ...
 CList
 CICSV.Interface.Types.ArrayOfAxisUpdateA list of AxisUpdate objects
 CICSV.Interface.Types.ArrayOfImageDataA list of ImageData objects.
 CICSV.Interface.Types.ArrayOfStatusDataA list of StatusData objects
 CICSV.Server.Images.LockBitmapHelper class to lock a bitmap and access pixels values in a fast way. From http://www.codeproject.com/Tips/240428/Work-with-bitmap-faster-with-Csharp
 CICSV.Server.MDS.MDSEasy access interface to the MDSJ component for Multi-Dimensional Scaling
 CICSV.Server.FastEMD.MinCostFlowSee https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Aux.java
 CICSV.Interface.Operations.SearchImagesThe request for starting a new search of images. The response will be SearchImagesResponse, which will deliver a search id for further request.
 CICSV.Interface.Operations.SearchImagesResponseThe response of a new image search request.
 CICSV.Server.Signatures.SignatureSee https://github.com/telmomenezes/JFastEMD/blob/master/src/com/telmomenezes/jfastemd/Signature.java
 CICSV.Server.Signatures.SignatureProviderClass responsible for creating signatures.
 CICSV.Interface.Types.StatusDataA status object, incuded in the list of a GetStatusResponse
 CTaskScheduler
 CICSV.Server.LimitedConcurrencyLevelTaskSchedulerProvides a task scheduler that ensures a maximum concurrency level while running on top of the thread pool. From: https://msdn.microsoft.com/en-us/library/ee789351.aspx