kio_mrml and mrml_part Carsten Pfeiffer 2001/05/03 ---------------------------------------------------------------------- These are the sources for an mrml kioslave and an accompanying KPart. How does it work in Konqueror? ============================== For now, the MrmlPart is rather a proof of concept, than a full blown MRML client. You can start the MrmlPart by entering an appropriate URL into Konqueror, e.g. mrml://user:pass@host.domain:port user, pass and domain are optional, so if you're running a server locally yourself, you can enter mrml://localhost to make Konqueror show the MrmlPart. If you don't have a running GIFT-server, you can try out mrml://viper.unige.ch:12790 as an example. Then, Konqueror will try to connect the server at the given URL and show you a list of image-collections the server has available. You can specify the number of images a query should return and you can hit the Search-button to actually start the query. If you don't give an image as example for the query, it will return random images from the collection. Shortly after hitting the Search-button, you will see a list of images as thumbnails. Below every image is a small rectangle showing the similarity of the image with the example image(s). The longer the rectangle, the better the match. Even easier than entering the mrml URL is right-clicking on an image in Konqueror and selecting "Search for similar images..." in the context menu. This will open up a new Konqueror window where the query will start automatically. By default, this will try to contact a local server, i.e mrml://localhost. You can configure different servers in the KControl Module (System -> Advanced Search). The last chosen server will be used for those queries. Note that a remote server surely can't access an image from your home direcory though. I have to think a little bit about the usability of this :) The greatest use of this is when you've indexed your files and running an own GIFT server anyway. Ideally, the server could be started on demand, when a query comes up. MrmlPart: ========= This KPart makes use of the mrml ioslave to provide a full MRML client. MRML, Multimedia Retrieval Markup Language (see http://www.mrml.net) is a means to query CBIR (Content Based Image Retrieval) servers. An OpenSource server is the GIFT (GNU Image Finding Tool), see www.mrml.net for downloading the GIFT. You can query for images by choosing one or more "example" images. The server will search for images that have similarities to the example(s) you gave. Queries can be refined by specifying relevance, i.e. by including and excluding parts of the previous search result. mrml ioslave: ============= Basically this is not much more than a slave for asynchronous transport of "data". With the URL, you can specify the user, password and port, as well as the url of the server to connect to. The data exchange of client <-> slave is done via metaData, with an "mrml_data" key. The data that the slave sends to the client is sent in one big chunk, after all the data has arrived at the slave. This could be made configurable later. With a little tuning, one could turn this into a generic slave which can transport any kind of data. [mrmlsearch] This little baby is called from Konqueror's popupmenu, when you hit "Search for similar images...". This program simply gets the URLs from Konqueror and creates a query of the form mrml://host.com/?relevant=url1;url2;url3;url4.... It will use the currently selected host in the KControl module System -> Advanced Search to perform the query. mrmlsearch will then invoke "kfmclient openURL query" to start open a new Konqueror window and perform the query. Thanks go to Wolfgang Müller for his work on the GIFT and for making me write this frontend :) I really had a WOW-effect about the GIFT, when MrmlPart returned the first query results. New versions of this package can be found at http://devel-home.kde.org/~pfeiffer/kmrml/ See http://www.mrml.net for downloading the GIFT and more information. Have fun, Carsten Pfeiffer