ViSUS configuration file
A ViSUS configuration file contains a set of application configuration parameters and a list of datasets that also represent your bookmarks in ViSUS Viewer.
Configuration File Location
Every ViSUS application, on load, uses the following strategy to find the configuration file:
- location specified by --visus-config command line parameter
- current working directory
- visus user directory (note: itunes-accessible documents directory on ios)
- resources directory (e.g. osx/ios bundle, same as cwd on other platforms)
- hardcoded path provided at compile time (e.g. for mod_visus default)
- executable directory (very unusual deployment, but it doesn't hurt anything)
Bookmarks, datasets and scenes
The bookmarks can refer to datasets on disk, remote or also to custom scenes that you saved from ViSUS Viewer.
Here is an example of a visus.config file of these three kind of datasets.
<visus> <!-- Local dataset --> <dataset name="my_dataset" url="file:///Users/username/data/my_dataset.idx" permissions="public"/> <!-- Remote dataset --> <dataset name="2kbit1" url="http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1" permissions="public"> <!-- Saved scene --> <scene name="my_scene" url="file:///Users/username/data/my_scene.xml" permissions="public"/> </visus>
Note: the visus.config file for a server should have always the attribute
permissions="public" in the declaration of all the datasets that you want to expose.
Network Access and Caching
ViSUS can access the same data from both the network or a local cache on your disk. The cache allows faster (and offline) access to the data that already navigated using the viewer. Please notice that ViSUS only saves the timesteps and fields that you explored, not the entire dataset.
An important feature of the ViSUS framework is the caching. Data streamed from the server can be cached on disk for later faster access. To enable this feature for a specific dataset we can define a multiple layer access as following:
<dataset name="2kbit1" url="http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1" permissions="public"> <access name="Multiplex" type="multiplex"> <access name="cache" type="disk" chmod="rw" url="$(VisusCacheDirectory)/2kbit1/visus.idx" /> <access name="source" type="network" chmod="r" compression="zip" /> </access> </dataset>
With these lines of code we created two layers of data access the first from the disk (e.g. the cache) and the other from the network. This will allow the application to search first on the disk for the requested data and in case of miss the request will be forwarded to the network. At the same time any data requested to the network layer will be cached on disk (at the specified URL).
Note: when frequent and fast access is strictly required, enabling the caching is highly recommended.
Faster network access
In order to speed up your network performance it is possible to use some special options in your access configurations:
- nconnections: enable parallel requests
- num_queries_per_request: gather multiple block requests in a single query
- compression: compress the data for transfer
Here is an example:
<access name="source" type="network" chmod="r" compression="zip" nconnections="4" num_queries_per_request="32"/>