<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.visus.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title> - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.visus.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php/Special:Contributions/Admin"/>
	<updated>2026-04-25T21:07:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=461</id>
		<title>ViSUSpy</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=461"/>
		<updated>2020-01-28T21:06:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* NumPy utils */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OpenVisus library is also available in python through a series of packages.&lt;br /&gt;
&lt;br /&gt;
You can install the library using python pip:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
python -m pip install OpenVisus&lt;br /&gt;
python -m OpenVisus configure&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the following sections we provide some examples on how to use it.&lt;br /&gt;
&lt;br /&gt;
== Library imports == &lt;br /&gt;
&lt;br /&gt;
To import and use the library in your python application you need to use the following imports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from OpenVisus import *&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These modules allow the basic interactions with IDX datasets, which can be either local or remote (served by a [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
'''Important''': your code that interacts with IDX datasets has always to attach the ''DbModule'' first, as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
DbModule.attach()&lt;br /&gt;
# your program code&lt;br /&gt;
DbModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Read data into a NumPy array ===&lt;br /&gt;
&lt;br /&gt;
In order to facilitate interoperation with existing python scientific libraries as NumPy we provide two function to convert data arrays from/to ViSUS Array an NumPy array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy&lt;br /&gt;
&lt;br /&gt;
# load a remote dataset&lt;br /&gt;
dataset=LoadDataset(&amp;quot;http://atlantis.sci.utah.edu/mod_visus?dataset=BlueMarble&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# get the bounding box of the dataset &lt;br /&gt;
# the box is defined by a set of 2 points (p1 and p2)&lt;br /&gt;
# which define the two corners of a bounding box&lt;br /&gt;
box=dataset.getLogicBox()&lt;br /&gt;
&lt;br /&gt;
# get the default field of a dataset&lt;br /&gt;
field=dataset.getDefaultField()&lt;br /&gt;
&lt;br /&gt;
access=dataset.createAccess()&lt;br /&gt;
&lt;br /&gt;
# select the resolution we need&lt;br /&gt;
resolution = 21&lt;br /&gt;
&lt;br /&gt;
# initialize query&lt;br /&gt;
query=BoxQuery(dataset, field, time,ord('r'))&lt;br /&gt;
&lt;br /&gt;
query.logic_box=dataset.getLogicBox()&lt;br /&gt;
query.end_resolutions.push_back(resolution)&lt;br /&gt;
&lt;br /&gt;
# execute the query&lt;br /&gt;
dataset.beginQuery(query)&lt;br /&gt;
dataset.executeQuery(access,query)&lt;br /&gt;
&lt;br /&gt;
# convert our buffer to a numpy array.&lt;br /&gt;
# This is useful when we want to read data from &lt;br /&gt;
# and IDX dataset and use this array with other libraries&lt;br /&gt;
data=Array.toNumPy(query.buffer,bSqueeze=True,bShareMem=False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=460</id>
		<title>ViSUSpy</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=460"/>
		<updated>2020-01-28T21:05:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OpenVisus library is also available in python through a series of packages.&lt;br /&gt;
&lt;br /&gt;
You can install the library using python pip:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
python -m pip install OpenVisus&lt;br /&gt;
python -m OpenVisus configure&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the following sections we provide some examples on how to use it.&lt;br /&gt;
&lt;br /&gt;
== Library imports == &lt;br /&gt;
&lt;br /&gt;
To import and use the library in your python application you need to use the following imports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from OpenVisus import *&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These modules allow the basic interactions with IDX datasets, which can be either local or remote (served by a [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
'''Important''': your code that interacts with IDX datasets has always to attach the ''DbModule'' first, as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
DbModule.attach()&lt;br /&gt;
# your program code&lt;br /&gt;
DbModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NumPy utils ===&lt;br /&gt;
&lt;br /&gt;
In order to facilitate interoperation with existing python scientific libraries as NumPy we provide two function to convert data arrays from/to ViSUS Array an NumPy array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy&lt;br /&gt;
&lt;br /&gt;
# load a remote dataset&lt;br /&gt;
dataset=LoadDataset(&amp;quot;http://atlantis.sci.utah.edu/mod_visus?dataset=BlueMarble&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# get the bounding box of the dataset &lt;br /&gt;
# the box is defined by a set of 2 points (p1 and p2)&lt;br /&gt;
# which define the two corners of a bounding box&lt;br /&gt;
box=dataset.getLogicBox()&lt;br /&gt;
&lt;br /&gt;
# get the default field of a dataset&lt;br /&gt;
field=dataset.getDefaultField()&lt;br /&gt;
&lt;br /&gt;
access=dataset.createAccess()&lt;br /&gt;
&lt;br /&gt;
# select the resolution we need&lt;br /&gt;
resolution = 21&lt;br /&gt;
&lt;br /&gt;
# initialize query&lt;br /&gt;
query=BoxQuery(dataset, field, time,ord('r'))&lt;br /&gt;
&lt;br /&gt;
query.logic_box=dataset.getLogicBox()&lt;br /&gt;
query.end_resolutions.push_back(resolution)&lt;br /&gt;
&lt;br /&gt;
# execute the query&lt;br /&gt;
dataset.beginQuery(query)&lt;br /&gt;
dataset.executeQuery(access,query)&lt;br /&gt;
&lt;br /&gt;
# convert our buffer to a numpy array.&lt;br /&gt;
# This is useful when we want to read data from &lt;br /&gt;
# and IDX dataset and use this array with other libraries&lt;br /&gt;
data=Array.toNumPy(query.buffer,bSqueeze=True,bShareMem=False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_configuration_file&amp;diff=459</id>
		<title>ViSUS configuration file</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_configuration_file&amp;diff=459"/>
		<updated>2019-12-06T20:55:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* More settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A ViSUS configuration file contains a set of application configuration parameters and a list of datasets that also represent your bookmarks in [[ViSUS Viewer]].&lt;br /&gt;
&lt;br /&gt;
'''Configuration File Location'''&lt;br /&gt;
&lt;br /&gt;
Every ViSUS application, on load, uses the following strategy to find the configuration file:&lt;br /&gt;
# location specified by --visus-config command line parameter&lt;br /&gt;
# current working directory&lt;br /&gt;
# visus user directory (note: itunes-accessible documents directory on ios)&lt;br /&gt;
# resources directory (e.g. osx/ios bundle, same as cwd on other platforms)&lt;br /&gt;
# hardcoded path provided at compile time (e.g. for mod_visus default)&lt;br /&gt;
# executable directory (very unusual deployment, but it doesn't hurt anything)&lt;br /&gt;
&lt;br /&gt;
== Bookmarks, datasets and scenes ==&lt;br /&gt;
&lt;br /&gt;
The bookmarks can refer to datasets on disk, remote or also to custom scenes that you saved from [[ViSUS Viewer]].&lt;br /&gt;
&lt;br /&gt;
Here is an example of a visus.config file of these three kind of datasets.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;visus&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Local dataset --&amp;gt; &lt;br /&gt;
    &amp;lt;dataset name=&amp;quot;my_dataset&amp;quot; url=&amp;quot;file:///Users/username/data/my_dataset.idx&amp;quot; permissions=&amp;quot;public&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Remote dataset --&amp;gt;&lt;br /&gt;
    &amp;lt;dataset name=&amp;quot;2kbit1&amp;quot; url=&amp;quot;http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1&amp;quot; permissions=&amp;quot;public&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Saved scene --&amp;gt;&lt;br /&gt;
    &amp;lt;scene name=&amp;quot;my_scene&amp;quot; url=&amp;quot;file:///Users/username/data/my_scene.xml&amp;quot; permissions=&amp;quot;public&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/visus&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the visus.config file for a server should have always the attribute &amp;lt;code&amp;gt;permissions=&amp;quot;public&amp;quot;&amp;lt;/code&amp;gt; in the declaration of all the datasets that you want to expose.&lt;br /&gt;
&lt;br /&gt;
=== Network Access and Caching ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An important feature of the ViSUS framework is the ''caching''. Data streamed from the server can be cached on disk for later faster access.&lt;br /&gt;
To enable this feature for a specific dataset we can define a multiple layer access as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;dataset name=&amp;quot;2kbit1&amp;quot; url=&amp;quot;http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1&amp;quot; permissions=&amp;quot;public&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;access name=&amp;quot;Multiplex&amp;quot; type=&amp;quot;multiplex&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;access name=&amp;quot;cache&amp;quot;  type=&amp;quot;disk&amp;quot; chmod=&amp;quot;rw&amp;quot; url=&amp;quot;$(VisusCacheDirectory)/2kbit1/visus.idx&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;access name=&amp;quot;source&amp;quot; type=&amp;quot;network&amp;quot; chmod=&amp;quot;r&amp;quot; compression=&amp;quot;zip&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/access&amp;gt; &lt;br /&gt;
  &amp;lt;/dataset&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
At the same time any data requested to the network layer will be cached on disk (at the specified URL).&lt;br /&gt;
&lt;br /&gt;
'''Note''': when frequent and fast access is strictly required, enabling the ''caching'' is highly recommended.&lt;br /&gt;
&lt;br /&gt;
'''Faster network access'''&lt;br /&gt;
&lt;br /&gt;
In order to speed up your network performance it is possible to use some special options in your access configurations:&lt;br /&gt;
* ''nconnections'': enable parallel requests&lt;br /&gt;
* ''num_queries_per_request'': gather multiple block requests in a single query&lt;br /&gt;
* ''compression'': compress the data for transfer&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;access name=&amp;quot;source&amp;quot; type=&amp;quot;network&amp;quot; chmod=&amp;quot;r&amp;quot; compression=&amp;quot;zip&amp;quot; nconnections=&amp;quot;4&amp;quot; num_queries_per_request=&amp;quot;32&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Memory usage ===&lt;br /&gt;
&lt;br /&gt;
In the configuration we can set limits to the memory allocated by the viewer, defining the size of &lt;br /&gt;
the memory we want to allocate, and the maximum usage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Configuration&amp;gt;&lt;br /&gt;
      &amp;lt;GLMemory total=&amp;quot;2gb&amp;quot; maximum_memory_allocation_factor=&amp;quot;0.8&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Configuration&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use a default scene for a dataset ===&lt;br /&gt;
The scene that you save from the [[ViSUS Viewer]] can be used as default scene of a certain dataset. This way every time you open it all the saved selection and palette settings will be applied.&lt;br /&gt;
&lt;br /&gt;
This can be done both locally and remotely setting the field ''(scene)'' in the .idx file of your dataset, as following:&lt;br /&gt;
&lt;br /&gt;
 (scene)&lt;br /&gt;
 file:///path/to/my/local/scene.scn&lt;br /&gt;
&lt;br /&gt;
Or using a remote scene&lt;br /&gt;
 &lt;br /&gt;
 (scene)&lt;br /&gt;
 http://yourserver.org/mod_visus?scene=dataset_scene_name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== More settings ===&lt;br /&gt;
&lt;br /&gt;
You can configure more settings in the _Configuration_ section of your visus.config file, for example the background color, logo or the network requests configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Configuration&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;VisusViewer background_color=&amp;quot;255 255 255 255&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Logo&amp;gt;&lt;br /&gt;
      &amp;lt;BottomLeft alpha='0.8' filename='resources/cat_rgb.tga' /&amp;gt;&lt;br /&gt;
   &amp;lt;/Logo&amp;gt; &lt;br /&gt;
  &amp;lt;/VisusViewer&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
  &amp;lt;ModVisusAccess nconnections=&amp;quot;8&amp;quot; num_queries_per_request=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/Configuration&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_configuration_file&amp;diff=458</id>
		<title>ViSUS configuration file</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_configuration_file&amp;diff=458"/>
		<updated>2019-12-06T20:54:47Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Use a default scene for a dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A ViSUS configuration file contains a set of application configuration parameters and a list of datasets that also represent your bookmarks in [[ViSUS Viewer]].&lt;br /&gt;
&lt;br /&gt;
'''Configuration File Location'''&lt;br /&gt;
&lt;br /&gt;
Every ViSUS application, on load, uses the following strategy to find the configuration file:&lt;br /&gt;
# location specified by --visus-config command line parameter&lt;br /&gt;
# current working directory&lt;br /&gt;
# visus user directory (note: itunes-accessible documents directory on ios)&lt;br /&gt;
# resources directory (e.g. osx/ios bundle, same as cwd on other platforms)&lt;br /&gt;
# hardcoded path provided at compile time (e.g. for mod_visus default)&lt;br /&gt;
# executable directory (very unusual deployment, but it doesn't hurt anything)&lt;br /&gt;
&lt;br /&gt;
== Bookmarks, datasets and scenes ==&lt;br /&gt;
&lt;br /&gt;
The bookmarks can refer to datasets on disk, remote or also to custom scenes that you saved from [[ViSUS Viewer]].&lt;br /&gt;
&lt;br /&gt;
Here is an example of a visus.config file of these three kind of datasets.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;visus&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Local dataset --&amp;gt; &lt;br /&gt;
    &amp;lt;dataset name=&amp;quot;my_dataset&amp;quot; url=&amp;quot;file:///Users/username/data/my_dataset.idx&amp;quot; permissions=&amp;quot;public&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Remote dataset --&amp;gt;&lt;br /&gt;
    &amp;lt;dataset name=&amp;quot;2kbit1&amp;quot; url=&amp;quot;http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1&amp;quot; permissions=&amp;quot;public&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Saved scene --&amp;gt;&lt;br /&gt;
    &amp;lt;scene name=&amp;quot;my_scene&amp;quot; url=&amp;quot;file:///Users/username/data/my_scene.xml&amp;quot; permissions=&amp;quot;public&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/visus&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the visus.config file for a server should have always the attribute &amp;lt;code&amp;gt;permissions=&amp;quot;public&amp;quot;&amp;lt;/code&amp;gt; in the declaration of all the datasets that you want to expose.&lt;br /&gt;
&lt;br /&gt;
=== Network Access and Caching ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An important feature of the ViSUS framework is the ''caching''. Data streamed from the server can be cached on disk for later faster access.&lt;br /&gt;
To enable this feature for a specific dataset we can define a multiple layer access as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;dataset name=&amp;quot;2kbit1&amp;quot; url=&amp;quot;http://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1&amp;quot; permissions=&amp;quot;public&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;access name=&amp;quot;Multiplex&amp;quot; type=&amp;quot;multiplex&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;access name=&amp;quot;cache&amp;quot;  type=&amp;quot;disk&amp;quot; chmod=&amp;quot;rw&amp;quot; url=&amp;quot;$(VisusCacheDirectory)/2kbit1/visus.idx&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;access name=&amp;quot;source&amp;quot; type=&amp;quot;network&amp;quot; chmod=&amp;quot;r&amp;quot; compression=&amp;quot;zip&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/access&amp;gt; &lt;br /&gt;
  &amp;lt;/dataset&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
At the same time any data requested to the network layer will be cached on disk (at the specified URL).&lt;br /&gt;
&lt;br /&gt;
'''Note''': when frequent and fast access is strictly required, enabling the ''caching'' is highly recommended.&lt;br /&gt;
&lt;br /&gt;
'''Faster network access'''&lt;br /&gt;
&lt;br /&gt;
In order to speed up your network performance it is possible to use some special options in your access configurations:&lt;br /&gt;
* ''nconnections'': enable parallel requests&lt;br /&gt;
* ''num_queries_per_request'': gather multiple block requests in a single query&lt;br /&gt;
* ''compression'': compress the data for transfer&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;access name=&amp;quot;source&amp;quot; type=&amp;quot;network&amp;quot; chmod=&amp;quot;r&amp;quot; compression=&amp;quot;zip&amp;quot; nconnections=&amp;quot;4&amp;quot; num_queries_per_request=&amp;quot;32&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Memory usage ===&lt;br /&gt;
&lt;br /&gt;
In the configuration we can set limits to the memory allocated by the viewer, defining the size of &lt;br /&gt;
the memory we want to allocate, and the maximum usage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Configuration&amp;gt;&lt;br /&gt;
      &amp;lt;GLMemory total=&amp;quot;2gb&amp;quot; maximum_memory_allocation_factor=&amp;quot;0.8&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Configuration&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use a default scene for a dataset ===&lt;br /&gt;
The scene that you save from the [[ViSUS Viewer]] can be used as default scene of a certain dataset. This way every time you open it all the saved selection and palette settings will be applied.&lt;br /&gt;
&lt;br /&gt;
This can be done both locally and remotely setting the field ''(scene)'' in the .idx file of your dataset, as following:&lt;br /&gt;
&lt;br /&gt;
 (scene)&lt;br /&gt;
 file:///path/to/my/local/scene.scn&lt;br /&gt;
&lt;br /&gt;
Or using a remote scene&lt;br /&gt;
 &lt;br /&gt;
 (scene)&lt;br /&gt;
 http://yourserver.org/mod_visus?scene=dataset_scene_name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== More settings ===&lt;br /&gt;
&lt;br /&gt;
You can configure more settings in the _Configuration_ section of your visus.config file, for example the background color or the network requests configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Configuration&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;VisusViewer background_color=&amp;quot;255 255 255 255&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Logo&amp;gt;&lt;br /&gt;
      &amp;lt;BottomLeft alpha='0.8' filename='resources/cat_rgb.tga' /&amp;gt;&lt;br /&gt;
   &amp;lt;/Logo&amp;gt; &lt;br /&gt;
  &amp;lt;/VisusViewer&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
  &amp;lt;ModVisusAccess nconnections=&amp;quot;8&amp;quot; num_queries_per_request=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/Configuration&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=457</id>
		<title>ViSUS Convert</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=457"/>
		<updated>2019-09-26T23:43:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Compression */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
ViSUS convert is the tool that allows to convert data from different file formats (i.e. mainly image formats and raw) to IDX.&lt;br /&gt;
&lt;br /&gt;
The supported formats are the ones supported by [http://freeimage.sourceforge.net/features.html FreeImage].&lt;br /&gt;
&lt;br /&gt;
In the following examples we will use the variable &amp;lt;code&amp;gt;$CONVERT&amp;lt;/code&amp;gt; as the visus convert executable.&lt;br /&gt;
You can set this variable using your OS commands like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 export CONVERT=/path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 setenv CONVERT /path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The variable &amp;lt;code&amp;gt;$RESOURCES&amp;lt;/code&amp;gt; is used instead to indicate a folder that contains the data to convert.&lt;br /&gt;
&lt;br /&gt;
Some useful definitions:&lt;br /&gt;
* a ''box'' defines the extent of the domain where the samples are placed for each dimension&lt;br /&gt;
* the ''dims'' are the number of samples for each dimension&lt;br /&gt;
* the ''dtype'' (i.e. datatype) is defined as a combination of the number type and the number of components (e.g. an RGB vector uint8 with 3 components will be &amp;lt;code&amp;gt;uint8[3]&amp;lt;/code&amp;gt;, for single component a simple &amp;lt;code&amp;gt;uint8&amp;lt;/code&amp;gt; can be used)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Simple conversion ===&lt;br /&gt;
For very simple conversions, all you need is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import $RESOURCES/cat_gray.tga create temp/cat_gray.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get information === &lt;br /&gt;
To *get information* about any file (including non-idx), use info&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT info $RESOURCES/cat_gray.tga&lt;br /&gt;
$CONVERT info $RESOURCES/cat_rgb.tga&lt;br /&gt;
$CONVERT info temp/cat_gray.idx&lt;br /&gt;
$CONVERT info temp/cat_rgb.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the IDX dataset ===&lt;br /&gt;
&lt;br /&gt;
To explicitly create the idx volume&lt;br /&gt;
&lt;br /&gt;
You can define a set of fields:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 fields=&amp;quot;scalar uint8 compressed + vector uint8[3] compressed&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and use the following to create the dataset&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT create temp/test_formats.idx --box &amp;quot;0 511 0 511&amp;quot; --fields &amp;quot;$fields&amp;quot; --time 0 0 time%03d/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert from a RAW dataset ===&lt;br /&gt;
&lt;br /&gt;
With the following example we convert an array of ''int16'' to IDX:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401&amp;quot; export data.idx --dims &amp;quot;995 501 401&amp;quot; --field my_field --time 0 --box &amp;quot;0 994 0 500 0 400&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or simply:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; create data.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interleave multiple fields into one ===&lt;br /&gt;
&lt;br /&gt;
With the following example we import 2 raw datasets into one interleaved IDX dataset:&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT --import /dev/null --dims &amp;quot;995 501 401 2&amp;quot; --dtype &amp;quot;int16&amp;quot; \&lt;br /&gt;
 --paste data0.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 1 1&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --paste data1.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 0 0&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --resize --dtype &amp;quot;int16[2]&amp;quot; --dims &amp;quot;995 501 401 1&amp;quot; --interleave --create data0_data1.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The new field created with this example will be a vector with 2 components.&lt;br /&gt;
&lt;br /&gt;
=== Convert a stack of images ===&lt;br /&gt;
&lt;br /&gt;
Very often microscopy data or MRI scans are simply big stacks of 2D images. Here is how you can easily convert them in a single IDX dataset using visus tools:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# path to your brand new IDX file&lt;br /&gt;
IDXFILE=&amp;quot;G:/visus_dataset/2kbit1/visus.idx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# box is specified as [x1 x2] [y1 y2] [z1 z2], min-max included (in this case the dataset has size 2048^3)&lt;br /&gt;
BOX=&amp;quot;0 2047 0 2047 0 2047&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# change your data DTYPE (in this case a single Uint8)&lt;br /&gt;
DTYPE=&amp;quot;uint8[1]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$CONVERT create &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;$BOX&amp;quot; --fields &amp;quot;data $DTYPE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# example of conversion of png slices to IDX&lt;br /&gt;
for sliceid in $(seq -f &amp;quot;%04g&amp;quot; 0 2047)&lt;br /&gt;
do&lt;br /&gt;
  $CONVERT \&lt;br /&gt;
     import &amp;quot;G:/visus_dataset/2kbit1/png/$sliceid.png&amp;quot; \&lt;br /&gt;
     export &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;0 2047 0 2047 $sliceid $sliceid&amp;quot; &lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tiled dataset === &lt;br /&gt;
Multiple images can be combined (as tiles) to compose a panorama or volume (e.g. stack of images from an MRI scan).&lt;br /&gt;
&lt;br /&gt;
This can be easily performed specifying the destination ''box'' of each image, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot; &lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Conversion from IDX to image ===&lt;br /&gt;
&lt;br /&gt;
Conversion from IDX to image formats can be performed as well using the same technique, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot;  export temp/test_formats_scalar.tga &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;  export temp/test_formats_scalar.jpg  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;  export temp/test_formats_scalar.tif  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;  export temp/test_formats_scalar.bmp &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;128 383   128 383&amp;quot;  export temp/test_formats_scalar.png&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compression == &lt;br /&gt;
&lt;br /&gt;
You can compress your dataset (already created) using zip or lz4, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT compress-dataset your_dataset.idx lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also compress float values using the zfp lossy compression specifying the number of bits you want to store each sample, for example for 16 bits it will:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT compress-dataset your_dataset.idx zfp-16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The maximum number of bit planes to compress is the same as the bit-size of the type (e.g. 32 for float32, 64 for float64, 16 for for int16, etc).&lt;br /&gt;
&lt;br /&gt;
When importing directly to a new dataset you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import neon.tif create neon.idx --fields &amp;quot;data float32 default_compression(zfp-16) format(1)&amp;quot;&lt;br /&gt;
$CONVERT import neon.tif export neon.idx --box &amp;quot;0 999 0 999&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the &amp;quot;format(1)&amp;quot; part which is important to achieve good compression. &lt;br /&gt;
&lt;br /&gt;
To decompress, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import neon.idx --box &amp;quot;0 999 0 999&amp;quot; export neon-out.tif&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, RGB fields can be compressed with JPG instead of ZFP, with the following parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import neon.tif create neon.idx --fields &amp;quot;data uint8[3] default_compression(jpg-JPEG_QUALITYSUPERB-JPEG_SUBSAMPLING_420-JPEG_OPTIMIZE) format(1)&amp;quot;&lt;br /&gt;
$CONVERT import neon.tif export neon.idx --box &amp;quot;0 999 0 999&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=456</id>
		<title>ViSUS Convert</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=456"/>
		<updated>2019-09-26T23:42:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Compression */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
ViSUS convert is the tool that allows to convert data from different file formats (i.e. mainly image formats and raw) to IDX.&lt;br /&gt;
&lt;br /&gt;
The supported formats are the ones supported by [http://freeimage.sourceforge.net/features.html FreeImage].&lt;br /&gt;
&lt;br /&gt;
In the following examples we will use the variable &amp;lt;code&amp;gt;$CONVERT&amp;lt;/code&amp;gt; as the visus convert executable.&lt;br /&gt;
You can set this variable using your OS commands like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 export CONVERT=/path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 setenv CONVERT /path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The variable &amp;lt;code&amp;gt;$RESOURCES&amp;lt;/code&amp;gt; is used instead to indicate a folder that contains the data to convert.&lt;br /&gt;
&lt;br /&gt;
Some useful definitions:&lt;br /&gt;
* a ''box'' defines the extent of the domain where the samples are placed for each dimension&lt;br /&gt;
* the ''dims'' are the number of samples for each dimension&lt;br /&gt;
* the ''dtype'' (i.e. datatype) is defined as a combination of the number type and the number of components (e.g. an RGB vector uint8 with 3 components will be &amp;lt;code&amp;gt;uint8[3]&amp;lt;/code&amp;gt;, for single component a simple &amp;lt;code&amp;gt;uint8&amp;lt;/code&amp;gt; can be used)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Simple conversion ===&lt;br /&gt;
For very simple conversions, all you need is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import $RESOURCES/cat_gray.tga create temp/cat_gray.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get information === &lt;br /&gt;
To *get information* about any file (including non-idx), use info&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT info $RESOURCES/cat_gray.tga&lt;br /&gt;
$CONVERT info $RESOURCES/cat_rgb.tga&lt;br /&gt;
$CONVERT info temp/cat_gray.idx&lt;br /&gt;
$CONVERT info temp/cat_rgb.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the IDX dataset ===&lt;br /&gt;
&lt;br /&gt;
To explicitly create the idx volume&lt;br /&gt;
&lt;br /&gt;
You can define a set of fields:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 fields=&amp;quot;scalar uint8 compressed + vector uint8[3] compressed&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and use the following to create the dataset&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT create temp/test_formats.idx --box &amp;quot;0 511 0 511&amp;quot; --fields &amp;quot;$fields&amp;quot; --time 0 0 time%03d/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert from a RAW dataset ===&lt;br /&gt;
&lt;br /&gt;
With the following example we convert an array of ''int16'' to IDX:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401&amp;quot; export data.idx --dims &amp;quot;995 501 401&amp;quot; --field my_field --time 0 --box &amp;quot;0 994 0 500 0 400&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or simply:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; create data.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interleave multiple fields into one ===&lt;br /&gt;
&lt;br /&gt;
With the following example we import 2 raw datasets into one interleaved IDX dataset:&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT --import /dev/null --dims &amp;quot;995 501 401 2&amp;quot; --dtype &amp;quot;int16&amp;quot; \&lt;br /&gt;
 --paste data0.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 1 1&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --paste data1.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 0 0&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --resize --dtype &amp;quot;int16[2]&amp;quot; --dims &amp;quot;995 501 401 1&amp;quot; --interleave --create data0_data1.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The new field created with this example will be a vector with 2 components.&lt;br /&gt;
&lt;br /&gt;
=== Convert a stack of images ===&lt;br /&gt;
&lt;br /&gt;
Very often microscopy data or MRI scans are simply big stacks of 2D images. Here is how you can easily convert them in a single IDX dataset using visus tools:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# path to your brand new IDX file&lt;br /&gt;
IDXFILE=&amp;quot;G:/visus_dataset/2kbit1/visus.idx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# box is specified as [x1 x2] [y1 y2] [z1 z2], min-max included (in this case the dataset has size 2048^3)&lt;br /&gt;
BOX=&amp;quot;0 2047 0 2047 0 2047&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# change your data DTYPE (in this case a single Uint8)&lt;br /&gt;
DTYPE=&amp;quot;uint8[1]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$CONVERT create &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;$BOX&amp;quot; --fields &amp;quot;data $DTYPE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# example of conversion of png slices to IDX&lt;br /&gt;
for sliceid in $(seq -f &amp;quot;%04g&amp;quot; 0 2047)&lt;br /&gt;
do&lt;br /&gt;
  $CONVERT \&lt;br /&gt;
     import &amp;quot;G:/visus_dataset/2kbit1/png/$sliceid.png&amp;quot; \&lt;br /&gt;
     export &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;0 2047 0 2047 $sliceid $sliceid&amp;quot; &lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tiled dataset === &lt;br /&gt;
Multiple images can be combined (as tiles) to compose a panorama or volume (e.g. stack of images from an MRI scan).&lt;br /&gt;
&lt;br /&gt;
This can be easily performed specifying the destination ''box'' of each image, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot; &lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Conversion from IDX to image ===&lt;br /&gt;
&lt;br /&gt;
Conversion from IDX to image formats can be performed as well using the same technique, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot;  export temp/test_formats_scalar.tga &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;  export temp/test_formats_scalar.jpg  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;  export temp/test_formats_scalar.tif  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;  export temp/test_formats_scalar.bmp &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;128 383   128 383&amp;quot;  export temp/test_formats_scalar.png&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compression == &lt;br /&gt;
&lt;br /&gt;
You can compress your dataset (already created) using zip or lz4, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT compress-dataset your_dataset.idx lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also compress float values using the zfp lossy compression specifying the number of bits you want to store each sample, for example for 16 bits it will:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT compress-dataset your_dataset.idx zfp-16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The maximum number of bit planes to compress is the same as the bit-size of the type (e.g. 32 for float32, 64 for float64, 16 for for int16, etc).&lt;br /&gt;
&lt;br /&gt;
When importing directly to a new dataset you can use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import neon.tif create neon.idx --fields &amp;quot;data float32 default_compression(zfp-16) format(1)&amp;quot;&lt;br /&gt;
$CONVERT import neon.tif export neon.idx --box &amp;quot;0 999 0 999&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the &amp;quot;format(1)&amp;quot; part which is important to achieve good compression. &lt;br /&gt;
&lt;br /&gt;
To decompress, use:&lt;br /&gt;
&lt;br /&gt;
./visus import neon.idx --box &amp;quot;0 999 0 999&amp;quot; export neon-out.tif&lt;br /&gt;
&lt;br /&gt;
Also, RGB fields can be compressed with JPG instead of ZFP, with the following parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import neon.tif create neon.idx --fields &amp;quot;data uint8[3] default_compression(jpg-JPEG_QUALITYSUPERB-JPEG_SUBSAMPLING_420-JPEG_OPTIMIZE) format(1)&amp;quot;&lt;br /&gt;
$CONVERT import neon.tif export neon.idx --box &amp;quot;0 999 0 999&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=455</id>
		<title>ViSUS Convert</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=455"/>
		<updated>2019-07-02T14:42:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Compression */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
ViSUS convert is the tool that allows to convert data from different file formats (i.e. mainly image formats and raw) to IDX.&lt;br /&gt;
&lt;br /&gt;
The supported formats are the ones supported by [http://freeimage.sourceforge.net/features.html FreeImage].&lt;br /&gt;
&lt;br /&gt;
In the following examples we will use the variable &amp;lt;code&amp;gt;$CONVERT&amp;lt;/code&amp;gt; as the visus convert executable.&lt;br /&gt;
You can set this variable using your OS commands like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 export CONVERT=/path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 setenv CONVERT /path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The variable &amp;lt;code&amp;gt;$RESOURCES&amp;lt;/code&amp;gt; is used instead to indicate a folder that contains the data to convert.&lt;br /&gt;
&lt;br /&gt;
Some useful definitions:&lt;br /&gt;
* a ''box'' defines the extent of the domain where the samples are placed for each dimension&lt;br /&gt;
* the ''dims'' are the number of samples for each dimension&lt;br /&gt;
* the ''dtype'' (i.e. datatype) is defined as a combination of the number type and the number of components (e.g. an RGB vector uint8 with 3 components will be &amp;lt;code&amp;gt;uint8[3]&amp;lt;/code&amp;gt;, for single component a simple &amp;lt;code&amp;gt;uint8&amp;lt;/code&amp;gt; can be used)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Simple conversion ===&lt;br /&gt;
For very simple conversions, all you need is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import $RESOURCES/cat_gray.tga create temp/cat_gray.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get information === &lt;br /&gt;
To *get information* about any file (including non-idx), use info&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT info $RESOURCES/cat_gray.tga&lt;br /&gt;
$CONVERT info $RESOURCES/cat_rgb.tga&lt;br /&gt;
$CONVERT info temp/cat_gray.idx&lt;br /&gt;
$CONVERT info temp/cat_rgb.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the IDX dataset ===&lt;br /&gt;
&lt;br /&gt;
To explicitly create the idx volume&lt;br /&gt;
&lt;br /&gt;
You can define a set of fields:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 fields=&amp;quot;scalar uint8 compressed + vector uint8[3] compressed&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and use the following to create the dataset&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT create temp/test_formats.idx --box &amp;quot;0 511 0 511&amp;quot; --fields &amp;quot;$fields&amp;quot; --time 0 0 time%03d/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert from a RAW dataset ===&lt;br /&gt;
&lt;br /&gt;
With the following example we convert an array of ''int16'' to IDX:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401&amp;quot; export data.idx --dims &amp;quot;995 501 401&amp;quot; --field my_field --time 0 --box &amp;quot;0 994 0 500 0 400&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or simply:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; create data.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interleave multiple fields into one ===&lt;br /&gt;
&lt;br /&gt;
With the following example we import 2 raw datasets into one interleaved IDX dataset:&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT --import /dev/null --dims &amp;quot;995 501 401 2&amp;quot; --dtype &amp;quot;int16&amp;quot; \&lt;br /&gt;
 --paste data0.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 1 1&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --paste data1.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 0 0&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --resize --dtype &amp;quot;int16[2]&amp;quot; --dims &amp;quot;995 501 401 1&amp;quot; --interleave --create data0_data1.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The new field created with this example will be a vector with 2 components.&lt;br /&gt;
&lt;br /&gt;
=== Convert a stack of images ===&lt;br /&gt;
&lt;br /&gt;
Very often microscopy data or MRI scans are simply big stacks of 2D images. Here is how you can easily convert them in a single IDX dataset using visus tools:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# path to your brand new IDX file&lt;br /&gt;
IDXFILE=&amp;quot;G:/visus_dataset/2kbit1/visus.idx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# box is specified as [x1 x2] [y1 y2] [z1 z2], min-max included (in this case the dataset has size 2048^3)&lt;br /&gt;
BOX=&amp;quot;0 2047 0 2047 0 2047&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# change your data DTYPE (in this case a single Uint8)&lt;br /&gt;
DTYPE=&amp;quot;uint8[1]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$CONVERT create &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;$BOX&amp;quot; --fields &amp;quot;data $DTYPE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# example of conversion of png slices to IDX&lt;br /&gt;
for sliceid in $(seq -f &amp;quot;%04g&amp;quot; 0 2047)&lt;br /&gt;
do&lt;br /&gt;
  $CONVERT \&lt;br /&gt;
     import &amp;quot;G:/visus_dataset/2kbit1/png/$sliceid.png&amp;quot; \&lt;br /&gt;
     export &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;0 2047 0 2047 $sliceid $sliceid&amp;quot; &lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tiled dataset === &lt;br /&gt;
Multiple images can be combined (as tiles) to compose a panorama or volume (e.g. stack of images from an MRI scan).&lt;br /&gt;
&lt;br /&gt;
This can be easily performed specifying the destination ''box'' of each image, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot; &lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Conversion from IDX to image ===&lt;br /&gt;
&lt;br /&gt;
Conversion from IDX to image formats can be performed as well using the same technique, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot;  export temp/test_formats_scalar.tga &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;  export temp/test_formats_scalar.jpg  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;  export temp/test_formats_scalar.tif  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;  export temp/test_formats_scalar.bmp &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;128 383   128 383&amp;quot;  export temp/test_formats_scalar.png&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compression == &lt;br /&gt;
&lt;br /&gt;
You can compress your dataset (already created) using zip or lz4, as following&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT compress-dataset your_dataset.idx lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=454</id>
		<title>ViSUS Convert</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=454"/>
		<updated>2019-07-02T14:42:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Convert a stack of images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
ViSUS convert is the tool that allows to convert data from different file formats (i.e. mainly image formats and raw) to IDX.&lt;br /&gt;
&lt;br /&gt;
The supported formats are the ones supported by [http://freeimage.sourceforge.net/features.html FreeImage].&lt;br /&gt;
&lt;br /&gt;
In the following examples we will use the variable &amp;lt;code&amp;gt;$CONVERT&amp;lt;/code&amp;gt; as the visus convert executable.&lt;br /&gt;
You can set this variable using your OS commands like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 export CONVERT=/path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 setenv CONVERT /path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The variable &amp;lt;code&amp;gt;$RESOURCES&amp;lt;/code&amp;gt; is used instead to indicate a folder that contains the data to convert.&lt;br /&gt;
&lt;br /&gt;
Some useful definitions:&lt;br /&gt;
* a ''box'' defines the extent of the domain where the samples are placed for each dimension&lt;br /&gt;
* the ''dims'' are the number of samples for each dimension&lt;br /&gt;
* the ''dtype'' (i.e. datatype) is defined as a combination of the number type and the number of components (e.g. an RGB vector uint8 with 3 components will be &amp;lt;code&amp;gt;uint8[3]&amp;lt;/code&amp;gt;, for single component a simple &amp;lt;code&amp;gt;uint8&amp;lt;/code&amp;gt; can be used)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Simple conversion ===&lt;br /&gt;
For very simple conversions, all you need is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import $RESOURCES/cat_gray.tga create temp/cat_gray.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get information === &lt;br /&gt;
To *get information* about any file (including non-idx), use info&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT info $RESOURCES/cat_gray.tga&lt;br /&gt;
$CONVERT info $RESOURCES/cat_rgb.tga&lt;br /&gt;
$CONVERT info temp/cat_gray.idx&lt;br /&gt;
$CONVERT info temp/cat_rgb.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the IDX dataset ===&lt;br /&gt;
&lt;br /&gt;
To explicitly create the idx volume&lt;br /&gt;
&lt;br /&gt;
You can define a set of fields:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 fields=&amp;quot;scalar uint8 compressed + vector uint8[3] compressed&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and use the following to create the dataset&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT create temp/test_formats.idx --box &amp;quot;0 511 0 511&amp;quot; --fields &amp;quot;$fields&amp;quot; --time 0 0 time%03d/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert from a RAW dataset ===&lt;br /&gt;
&lt;br /&gt;
With the following example we convert an array of ''int16'' to IDX:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401&amp;quot; export data.idx --dims &amp;quot;995 501 401&amp;quot; --field my_field --time 0 --box &amp;quot;0 994 0 500 0 400&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or simply:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; create data.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interleave multiple fields into one ===&lt;br /&gt;
&lt;br /&gt;
With the following example we import 2 raw datasets into one interleaved IDX dataset:&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT --import /dev/null --dims &amp;quot;995 501 401 2&amp;quot; --dtype &amp;quot;int16&amp;quot; \&lt;br /&gt;
 --paste data0.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 1 1&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --paste data1.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 0 0&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --resize --dtype &amp;quot;int16[2]&amp;quot; --dims &amp;quot;995 501 401 1&amp;quot; --interleave --create data0_data1.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The new field created with this example will be a vector with 2 components.&lt;br /&gt;
&lt;br /&gt;
=== Convert a stack of images ===&lt;br /&gt;
&lt;br /&gt;
Very often microscopy data or MRI scans are simply big stacks of 2D images. Here is how you can easily convert them in a single IDX dataset using visus tools:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# path to your brand new IDX file&lt;br /&gt;
IDXFILE=&amp;quot;G:/visus_dataset/2kbit1/visus.idx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# box is specified as [x1 x2] [y1 y2] [z1 z2], min-max included (in this case the dataset has size 2048^3)&lt;br /&gt;
BOX=&amp;quot;0 2047 0 2047 0 2047&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# change your data DTYPE (in this case a single Uint8)&lt;br /&gt;
DTYPE=&amp;quot;uint8[1]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$CONVERT create &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;$BOX&amp;quot; --fields &amp;quot;data $DTYPE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# example of conversion of png slices to IDX&lt;br /&gt;
for sliceid in $(seq -f &amp;quot;%04g&amp;quot; 0 2047)&lt;br /&gt;
do&lt;br /&gt;
  $CONVERT \&lt;br /&gt;
     import &amp;quot;G:/visus_dataset/2kbit1/png/$sliceid.png&amp;quot; \&lt;br /&gt;
     export &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;0 2047 0 2047 $sliceid $sliceid&amp;quot; &lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tiled dataset === &lt;br /&gt;
Multiple images can be combined (as tiles) to compose a panorama or volume (e.g. stack of images from an MRI scan).&lt;br /&gt;
&lt;br /&gt;
This can be easily performed specifying the destination ''box'' of each image, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot; &lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Conversion from IDX to image ===&lt;br /&gt;
&lt;br /&gt;
Conversion from IDX to image formats can be performed as well using the same technique, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot;  export temp/test_formats_scalar.tga &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;  export temp/test_formats_scalar.jpg  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;  export temp/test_formats_scalar.tif  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;  export temp/test_formats_scalar.bmp &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;128 383   128 383&amp;quot;  export temp/test_formats_scalar.png&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compression == &lt;br /&gt;
&lt;br /&gt;
You can compress your dataset (already created) using zip or lz4, as following&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT --compress-dataset your_dataset.idx lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=453</id>
		<title>ViSUS Convert</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Convert&amp;diff=453"/>
		<updated>2019-07-02T14:42:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Convert from a RAW dataset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
ViSUS convert is the tool that allows to convert data from different file formats (i.e. mainly image formats and raw) to IDX.&lt;br /&gt;
&lt;br /&gt;
The supported formats are the ones supported by [http://freeimage.sourceforge.net/features.html FreeImage].&lt;br /&gt;
&lt;br /&gt;
In the following examples we will use the variable &amp;lt;code&amp;gt;$CONVERT&amp;lt;/code&amp;gt; as the visus convert executable.&lt;br /&gt;
You can set this variable using your OS commands like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 export CONVERT=/path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 setenv CONVERT /path/to/visus_executable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The variable &amp;lt;code&amp;gt;$RESOURCES&amp;lt;/code&amp;gt; is used instead to indicate a folder that contains the data to convert.&lt;br /&gt;
&lt;br /&gt;
Some useful definitions:&lt;br /&gt;
* a ''box'' defines the extent of the domain where the samples are placed for each dimension&lt;br /&gt;
* the ''dims'' are the number of samples for each dimension&lt;br /&gt;
* the ''dtype'' (i.e. datatype) is defined as a combination of the number type and the number of components (e.g. an RGB vector uint8 with 3 components will be &amp;lt;code&amp;gt;uint8[3]&amp;lt;/code&amp;gt;, for single component a simple &amp;lt;code&amp;gt;uint8&amp;lt;/code&amp;gt; can be used)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Simple conversion ===&lt;br /&gt;
For very simple conversions, all you need is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import $RESOURCES/cat_gray.tga create temp/cat_gray.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get information === &lt;br /&gt;
To *get information* about any file (including non-idx), use info&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT info $RESOURCES/cat_gray.tga&lt;br /&gt;
$CONVERT info $RESOURCES/cat_rgb.tga&lt;br /&gt;
$CONVERT info temp/cat_gray.idx&lt;br /&gt;
$CONVERT info temp/cat_rgb.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the IDX dataset ===&lt;br /&gt;
&lt;br /&gt;
To explicitly create the idx volume&lt;br /&gt;
&lt;br /&gt;
You can define a set of fields:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 fields=&amp;quot;scalar uint8 compressed + vector uint8[3] compressed&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and use the following to create the dataset&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT create temp/test_formats.idx --box &amp;quot;0 511 0 511&amp;quot; --fields &amp;quot;$fields&amp;quot; --time 0 0 time%03d/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert from a RAW dataset ===&lt;br /&gt;
&lt;br /&gt;
With the following example we convert an array of ''int16'' to IDX:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401&amp;quot; export data.idx --dims &amp;quot;995 501 401&amp;quot; --field my_field --time 0 --box &amp;quot;0 994 0 500 0 400&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or simply:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT import data.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; create data.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interleave multiple fields into one ===&lt;br /&gt;
&lt;br /&gt;
With the following example we import 2 raw datasets into one interleaved IDX dataset:&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 $CONVERT --import /dev/null --dims &amp;quot;995 501 401 2&amp;quot; --dtype &amp;quot;int16&amp;quot; \&lt;br /&gt;
 --paste data0.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 1 1&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --paste data1.raw --dtype 1*int16 --dims &amp;quot;995 501 401 1&amp;quot; --destination-box &amp;quot;0 994 0 500 0 400 0 0&amp;quot; --source-box &amp;quot;0 994 0 500 0 400&amp;quot; \&lt;br /&gt;
 --resize --dtype &amp;quot;int16[2]&amp;quot; --dims &amp;quot;995 501 401 1&amp;quot; --interleave --create data0_data1.idx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The new field created with this example will be a vector with 2 components.&lt;br /&gt;
&lt;br /&gt;
=== Convert a stack of images ===&lt;br /&gt;
&lt;br /&gt;
Very often microscopy data or MRI scans are simply big stacks of 2D images. Here is how you can easily convert them in a single IDX dataset using visus tools:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# path to your brand new IDX file&lt;br /&gt;
IDXFILE=&amp;quot;G:/visus_dataset/2kbit1/visus.idx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# box is specified as [x1 x2] [y1 y2] [z1 z2], min-max included (in this case the dataset has size 2048^3)&lt;br /&gt;
BOX=&amp;quot;0 2047 0 2047 0 2047&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# change your data DTYPE (in this case a single Uint8)&lt;br /&gt;
DTYPE=&amp;quot;uint8[1]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$CONVERT --create &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;$BOX&amp;quot; --fields &amp;quot;data $DTYPE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# example of conversion of png slices to IDX&lt;br /&gt;
for sliceid in $(seq -f &amp;quot;%04g&amp;quot; 0 2047)&lt;br /&gt;
do&lt;br /&gt;
  $CONVERT \&lt;br /&gt;
     --import &amp;quot;G:/visus_dataset/2kbit1/png/$sliceid.png&amp;quot; \&lt;br /&gt;
     --export &amp;quot;$IDXFILE&amp;quot; --box &amp;quot;0 2047 0 2047 $sliceid $sliceid&amp;quot; &lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tiled dataset === &lt;br /&gt;
Multiple images can be combined (as tiles) to compose a panorama or volume (e.g. stack of images from an MRI scan).&lt;br /&gt;
&lt;br /&gt;
This can be easily performed specifying the destination ''box'' of each image, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot; &lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;&lt;br /&gt;
$CONVERT import $RESOURCES/cat_gray.tga export temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Conversion from IDX to image ===&lt;br /&gt;
&lt;br /&gt;
Conversion from IDX to image formats can be performed as well using the same technique, as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255     0 255&amp;quot;  export temp/test_formats_scalar.tga &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511     0 255&amp;quot;  export temp/test_formats_scalar.jpg  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;  0 255   256 511&amp;quot;  export temp/test_formats_scalar.tif  &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;256 511   256 511&amp;quot;  export temp/test_formats_scalar.bmp &lt;br /&gt;
$CONVERT import temp/test_formats.idx --field scalar --box &amp;quot;128 383   128 383&amp;quot;  export temp/test_formats_scalar.png&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compression == &lt;br /&gt;
&lt;br /&gt;
You can compress your dataset (already created) using zip or lz4, as following&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$CONVERT --compress-dataset your_dataset.idx lz4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=452</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=452"/>
		<updated>2019-03-20T01:01:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DataPortal internal settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Sample datasets ===&lt;br /&gt;
&lt;br /&gt;
You can use those sample datasets to test the upload, conversion and publishing through the portal.&lt;br /&gt;
&lt;br /&gt;
Asteroid (single file, raw format):&lt;br /&gt;
* size: 500x500x500 &lt;br /&gt;
* data type: float32&lt;br /&gt;
* download: [https://drive.google.com/open?id=1wHdWynj9jnIf5NrRnzSZyOHbOMwKmltQ Asteroid data]&lt;br /&gt;
&lt;br /&gt;
Heart CT scan (stack of images): &lt;br /&gt;
* size and datatype will be automatically detected&lt;br /&gt;
* download: [https://drive.google.com/open?id=1NLWe2FVhUUoEaaA8JZ2w61H_dT77z1La Heart data]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /fullpath/to/your/config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want also the converted data to be persistent you can mount another folder for them (i.e., that will be mapped to the ''/converted'' data folder inside the container) as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data -v /my/converted_data/folder:/converted visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=451</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=451"/>
		<updated>2019-03-19T17:30:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Sample datasets ===&lt;br /&gt;
&lt;br /&gt;
You can use those sample datasets to test the upload, conversion and publishing through the portal.&lt;br /&gt;
&lt;br /&gt;
Asteroid (single file, raw format):&lt;br /&gt;
* size: 500x500x500 &lt;br /&gt;
* data type: float32&lt;br /&gt;
* download: [https://drive.google.com/open?id=1wHdWynj9jnIf5NrRnzSZyOHbOMwKmltQ Asteroid data]&lt;br /&gt;
&lt;br /&gt;
Heart CT scan (stack of images): &lt;br /&gt;
* size and datatype will be automatically detected&lt;br /&gt;
* download: [https://drive.google.com/open?id=1NLWe2FVhUUoEaaA8JZ2w61H_dT77z1La Heart data]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want also the converted data to be persistent you can mount another folder for them (i.e., that will be mapped to the ''/converted'' data folder inside the container) as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data -v /my/converted_data/folder:/converted visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=450</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=450"/>
		<updated>2019-03-19T17:29:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sample datasets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Sample datasets ===&lt;br /&gt;
&lt;br /&gt;
You can use those sample datasets to test the upload and conversion.&lt;br /&gt;
&lt;br /&gt;
Asteroid (single file, raw format):&lt;br /&gt;
* size: 500x500x500 &lt;br /&gt;
* data type: float32&lt;br /&gt;
* download: [https://drive.google.com/open?id=1wHdWynj9jnIf5NrRnzSZyOHbOMwKmltQ Asteroid data]&lt;br /&gt;
&lt;br /&gt;
Heart CT scan (stack of images): &lt;br /&gt;
* size and datatype will be automatically detected&lt;br /&gt;
* download: [https://drive.google.com/open?id=1NLWe2FVhUUoEaaA8JZ2w61H_dT77z1La Heart data]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want also the converted data to be persistent you can mount another folder for them (i.e., that will be mapped to the ''/converted'' data folder inside the container) as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data -v /my/converted_data/folder:/converted visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=449</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=449"/>
		<updated>2019-03-19T17:29:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sample datasets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Sample datasets ===&lt;br /&gt;
&lt;br /&gt;
Asteroid (single file, raw format):&lt;br /&gt;
* size: 500x500x500 &lt;br /&gt;
* data type: float32&lt;br /&gt;
* download: [https://drive.google.com/open?id=1wHdWynj9jnIf5NrRnzSZyOHbOMwKmltQ Asteroid data]&lt;br /&gt;
&lt;br /&gt;
Heart CT scan (stack of images): &lt;br /&gt;
* size and datatype will be automatically detected&lt;br /&gt;
* download: [https://drive.google.com/open?id=1NLWe2FVhUUoEaaA8JZ2w61H_dT77z1La Heart data]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want also the converted data to be persistent you can mount another folder for them (i.e., that will be mapped to the ''/converted'' data folder inside the container) as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data -v /my/converted_data/folder:/converted visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=448</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=448"/>
		<updated>2019-03-19T17:27:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Sample datasets ===&lt;br /&gt;
&lt;br /&gt;
Asteroid (single file, raw format):&lt;br /&gt;
- size: 500x500x500 &lt;br /&gt;
- data type: float32&lt;br /&gt;
- download: [https://drive.google.com/open?id=1wHdWynj9jnIf5NrRnzSZyOHbOMwKmltQ Asteroid data]&lt;br /&gt;
&lt;br /&gt;
Heart CT scan (stack of images): &lt;br /&gt;
- size and datatype will be automatically detected&lt;br /&gt;
- download: [https://drive.google.com/open?id=1NLWe2FVhUUoEaaA8JZ2w61H_dT77z1La Heart data]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want also the converted data to be persistent you can mount another folder for them (i.e., that will be mapped to the ''/converted'' data folder inside the container) as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data -v /my/converted_data/folder:/converted visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=447</id>
		<title>ViSUSpy</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=447"/>
		<updated>2019-03-06T17:41:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Read from IDX file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUSpy is a library that allows the user to use the ViSUS framework from python.&lt;br /&gt;
&lt;br /&gt;
In the following sections we provide some examples on how to use it.&lt;br /&gt;
&lt;br /&gt;
== Library imports == &lt;br /&gt;
&lt;br /&gt;
To import and use the library in your python application you need to use the following imports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from visuspy import *&lt;br /&gt;
from VisusKernelPy import *&lt;br /&gt;
from VisusIdxPy    import *&lt;br /&gt;
from VisusDbPy     import *&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These modules allow the basic interactions with IDX datasets, which can be either local or remote (served by a [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
'''Important''': your code that interacts with IDX datasets has always to attach the ''IdxModule'' first, as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
# your program code&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NumPy utils ===&lt;br /&gt;
&lt;br /&gt;
In order to facilitate interoperation with existing python scientific libraries as NumPy we provide two function to convert data arrays from/to ViSUS Array an NumPy array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy&lt;br /&gt;
&lt;br /&gt;
# convert our buffer to a numpy array.&lt;br /&gt;
# This is useful when we want to read data from &lt;br /&gt;
# and IDX dataset and use this array with other libraries&lt;br /&gt;
numpy_array=convertToNumPyArray(in_visus_array)&lt;br /&gt;
&lt;br /&gt;
# convert a numpy array to a ViSUS array&lt;br /&gt;
visus_array = convertToVisusArray(numpy_array)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Write data in IDX format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line='line'&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
&lt;br /&gt;
# define a box which defines the bounding box&lt;br /&gt;
# of the grid where our data will be stored&lt;br /&gt;
# a box is defined by two points (p1 and p2)&lt;br /&gt;
# which define the two opposite corners of the box&lt;br /&gt;
# in this case the box has size 16x16x16&lt;br /&gt;
dataset_box=NdBox(NdPoint(0,0,0),NdPoint.one(16,16,16))&lt;br /&gt;
    &lt;br /&gt;
# create and IDX file where to to store the data&lt;br /&gt;
idxfile=IdxFile();&lt;br /&gt;
&lt;br /&gt;
# set dataset box&lt;br /&gt;
idxfile.box=NdBox(dataset_box)&lt;br /&gt;
&lt;br /&gt;
# add integer field to the dataset&lt;br /&gt;
idxfile.fields.push_back(Field(&amp;quot;myfield&amp;quot;,DType.fromString(&amp;quot;uint32&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
# save the metadata on disk (no data are saved yet)&lt;br /&gt;
bSaved=idxfile.save(self.filename)&lt;br /&gt;
self.assertTrue(bSaved)&lt;br /&gt;
&lt;br /&gt;
# load the dataset we just created    &lt;br /&gt;
dataset=Dataset.loadDataset(self.filename)&lt;br /&gt;
self.assertIsNotNone(dataset)&lt;br /&gt;
&lt;br /&gt;
# create access to write the data&lt;br /&gt;
access=dataset.createAccess()&lt;br /&gt;
&lt;br /&gt;
# write data slice by slice    &lt;br /&gt;
sampleid=0    &lt;br /&gt;
for Z in range(0,16):&lt;br /&gt;
  # create box to hold the Z slice of the data&lt;br /&gt;
  slice_box=dataset.getBox().getZSlab(Z,Z+1)&lt;br /&gt;
  &lt;br /&gt;
  # create write query &lt;br /&gt;
  query=Query(dataset,ord('w'))&lt;br /&gt;
  # set query box&lt;br /&gt;
  query.position=Position(slice_box)&lt;br /&gt;
      &lt;br /&gt;
  # initialize query&lt;br /&gt;
  self.assertTrue(dataset.beginQuery(query))&lt;br /&gt;
  # check if size of the query is equal to the dimension of our dataset&lt;br /&gt;
  self.assertEqual(query.nsamples.innerProduct(),16*16)&lt;br /&gt;
  &lt;br /&gt;
  # create a Visus Array to store the data&lt;br /&gt;
  buffer=Array(query.nsamples,query.field.dtype)&lt;br /&gt;
  # set the output buffer of the query to the array we just created&lt;br /&gt;
  query.buffer=buffer&lt;br /&gt;
      &lt;br /&gt;
  # convert our buffer to a numpy array &lt;br /&gt;
  fill=toNumPy(buffer)&lt;br /&gt;
&lt;br /&gt;
  # fill up the array with some values&lt;br /&gt;
  for Y in range(16):&lt;br /&gt;
    for X in range(16):&lt;br /&gt;
      fill[Y,X]=sampleid&lt;br /&gt;
      sampleid+=1&lt;br /&gt;
&lt;br /&gt;
# execute query&lt;br /&gt;
success = dataset.executeQuery(access,query)&lt;br /&gt;
&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Read from IDX file == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line='line'&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
&lt;br /&gt;
# open an IDX dataset&lt;br /&gt;
dataset=Dataset_loadDataset(self.filename)&lt;br /&gt;
# check it is valid&lt;br /&gt;
self.assertIsNotNone(dataset)&lt;br /&gt;
&lt;br /&gt;
# get the bounding box of the dataset &lt;br /&gt;
# the box is defined by a set of 2 points (p1 and p2)&lt;br /&gt;
# which define the two corners of a bounding box&lt;br /&gt;
box=dataset.getBox()&lt;br /&gt;
&lt;br /&gt;
# get the default field of a dataset&lt;br /&gt;
field=dataset.getDefaultField()&lt;br /&gt;
&lt;br /&gt;
#create access&lt;br /&gt;
access=dataset.createAccess()&lt;br /&gt;
&lt;br /&gt;
# here we read the datasets slice by slice&lt;br /&gt;
# making box queries &lt;br /&gt;
sampleid=0&lt;br /&gt;
for Z in range(0,16):&lt;br /&gt;
  slice_box=box.getZSlab(Z,Z+1)&lt;br /&gt;
      &lt;br /&gt;
  # define a read query&lt;br /&gt;
  query=Query(dataset,ord('r'))&lt;br /&gt;
  # set the box for the query&lt;br /&gt;
  query.position=Position(slice_box)&lt;br /&gt;
      &lt;br /&gt;
  self.assertTrue(dataset.beginQuery(query))&lt;br /&gt;
  # check the size of the output of the query &lt;br /&gt;
  print(&amp;quot;query size&amp;quot;, query.nsamples.innerProduct())&lt;br /&gt;
  # execute query&lt;br /&gt;
  self.assertTrue(dataset.executeQuery(access,query))&lt;br /&gt;
  &lt;br /&gt;
  # convert output buffer to a numpy array&lt;br /&gt;
  my_numpy_array=toNumPy(query.buffer)&lt;br /&gt;
&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=446</id>
		<title>ViSUSpy</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUSpy&amp;diff=446"/>
		<updated>2019-03-06T17:40:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Write data in IDX format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUSpy is a library that allows the user to use the ViSUS framework from python.&lt;br /&gt;
&lt;br /&gt;
In the following sections we provide some examples on how to use it.&lt;br /&gt;
&lt;br /&gt;
== Library imports == &lt;br /&gt;
&lt;br /&gt;
To import and use the library in your python application you need to use the following imports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from visuspy import *&lt;br /&gt;
from VisusKernelPy import *&lt;br /&gt;
from VisusIdxPy    import *&lt;br /&gt;
from VisusDbPy     import *&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These modules allow the basic interactions with IDX datasets, which can be either local or remote (served by a [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
'''Important''': your code that interacts with IDX datasets has always to attach the ''IdxModule'' first, as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
# your program code&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NumPy utils ===&lt;br /&gt;
&lt;br /&gt;
In order to facilitate interoperation with existing python scientific libraries as NumPy we provide two function to convert data arrays from/to ViSUS Array an NumPy array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy&lt;br /&gt;
&lt;br /&gt;
# convert our buffer to a numpy array.&lt;br /&gt;
# This is useful when we want to read data from &lt;br /&gt;
# and IDX dataset and use this array with other libraries&lt;br /&gt;
numpy_array=convertToNumPyArray(in_visus_array)&lt;br /&gt;
&lt;br /&gt;
# convert a numpy array to a ViSUS array&lt;br /&gt;
visus_array = convertToVisusArray(numpy_array)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Write data in IDX format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line='line'&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
&lt;br /&gt;
# define a box which defines the bounding box&lt;br /&gt;
# of the grid where our data will be stored&lt;br /&gt;
# a box is defined by two points (p1 and p2)&lt;br /&gt;
# which define the two opposite corners of the box&lt;br /&gt;
# in this case the box has size 16x16x16&lt;br /&gt;
dataset_box=NdBox(NdPoint(0,0,0),NdPoint.one(16,16,16))&lt;br /&gt;
    &lt;br /&gt;
# create and IDX file where to to store the data&lt;br /&gt;
idxfile=IdxFile();&lt;br /&gt;
&lt;br /&gt;
# set dataset box&lt;br /&gt;
idxfile.box=NdBox(dataset_box)&lt;br /&gt;
&lt;br /&gt;
# add integer field to the dataset&lt;br /&gt;
idxfile.fields.push_back(Field(&amp;quot;myfield&amp;quot;,DType.fromString(&amp;quot;uint32&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
# save the metadata on disk (no data are saved yet)&lt;br /&gt;
bSaved=idxfile.save(self.filename)&lt;br /&gt;
self.assertTrue(bSaved)&lt;br /&gt;
&lt;br /&gt;
# load the dataset we just created    &lt;br /&gt;
dataset=Dataset.loadDataset(self.filename)&lt;br /&gt;
self.assertIsNotNone(dataset)&lt;br /&gt;
&lt;br /&gt;
# create access to write the data&lt;br /&gt;
access=dataset.createAccess()&lt;br /&gt;
&lt;br /&gt;
# write data slice by slice    &lt;br /&gt;
sampleid=0    &lt;br /&gt;
for Z in range(0,16):&lt;br /&gt;
  # create box to hold the Z slice of the data&lt;br /&gt;
  slice_box=dataset.getBox().getZSlab(Z,Z+1)&lt;br /&gt;
  &lt;br /&gt;
  # create write query &lt;br /&gt;
  query=Query(dataset,ord('w'))&lt;br /&gt;
  # set query box&lt;br /&gt;
  query.position=Position(slice_box)&lt;br /&gt;
      &lt;br /&gt;
  # initialize query&lt;br /&gt;
  self.assertTrue(dataset.beginQuery(query))&lt;br /&gt;
  # check if size of the query is equal to the dimension of our dataset&lt;br /&gt;
  self.assertEqual(query.nsamples.innerProduct(),16*16)&lt;br /&gt;
  &lt;br /&gt;
  # create a Visus Array to store the data&lt;br /&gt;
  buffer=Array(query.nsamples,query.field.dtype)&lt;br /&gt;
  # set the output buffer of the query to the array we just created&lt;br /&gt;
  query.buffer=buffer&lt;br /&gt;
      &lt;br /&gt;
  # convert our buffer to a numpy array &lt;br /&gt;
  fill=toNumPy(buffer)&lt;br /&gt;
&lt;br /&gt;
  # fill up the array with some values&lt;br /&gt;
  for Y in range(16):&lt;br /&gt;
    for X in range(16):&lt;br /&gt;
      fill[Y,X]=sampleid&lt;br /&gt;
      sampleid+=1&lt;br /&gt;
&lt;br /&gt;
# execute query&lt;br /&gt;
success = dataset.executeQuery(access,query)&lt;br /&gt;
&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Read from IDX file == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line='line'&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
&lt;br /&gt;
# open an IDX dataset&lt;br /&gt;
dataset=Dataset_loadDataset(self.filename)&lt;br /&gt;
# check it is valid&lt;br /&gt;
self.assertIsNotNone(dataset)&lt;br /&gt;
&lt;br /&gt;
# get the bounding box of the dataset &lt;br /&gt;
# the box is defined by a set of 2 points (p1 and p2)&lt;br /&gt;
# which define the two corners of a bounding box&lt;br /&gt;
box=dataset.get().getBox()&lt;br /&gt;
&lt;br /&gt;
# get the default field of a dataset&lt;br /&gt;
field=dataset.get().getDefaultField()&lt;br /&gt;
&lt;br /&gt;
#create access&lt;br /&gt;
access=dataset.get().createAccess()&lt;br /&gt;
&lt;br /&gt;
# here we read the datasets slice by slice&lt;br /&gt;
# making box queries &lt;br /&gt;
sampleid=0&lt;br /&gt;
for Z in range(0,16):&lt;br /&gt;
  slice_box=box.getZSlab(Z,Z+1)&lt;br /&gt;
      &lt;br /&gt;
  # define a read query&lt;br /&gt;
  query=QueryPtr(Query(dataset.get(),ord('r')))&lt;br /&gt;
  # set the box for the query&lt;br /&gt;
  query.get().position=Position(slice_box)&lt;br /&gt;
      &lt;br /&gt;
  self.assertTrue(dataset.get().beginQuery(query))&lt;br /&gt;
  # check the size of the output of the query &lt;br /&gt;
  print(&amp;quot;query size&amp;quot;, query.get().nsamples.innerProduct())&lt;br /&gt;
  # execute query&lt;br /&gt;
  self.assertTrue(dataset.get().executeQuery(access,query))&lt;br /&gt;
  &lt;br /&gt;
  # convert output buffer to a numpy array&lt;br /&gt;
  my_numpy_array=convertToNumPyArray(query.get().buffer)&lt;br /&gt;
&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Python&amp;diff=445</id>
		<title>ViSUS Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Python&amp;diff=445"/>
		<updated>2019-03-05T00:31:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;ViSUSpy is a library that allows the user to use the ViSUS framework from python.  In the following sections we provide some examples on how to use it.  == Library imports ==...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUSpy is a library that allows the user to use the ViSUS framework from python.&lt;br /&gt;
&lt;br /&gt;
In the following sections we provide some examples on how to use it.&lt;br /&gt;
&lt;br /&gt;
== Library imports == &lt;br /&gt;
&lt;br /&gt;
To import and use the library in your python application you need to use the following imports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from visuspy import *&lt;br /&gt;
from VisusKernelPy import *&lt;br /&gt;
from VisusIdxPy    import *&lt;br /&gt;
from VisusDbPy     import *&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These modules allow the basic interactions with IDX datasets, which can be either local or remote (served by a [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
'''Important''': your code that interacts with IDX datasets has always to attach the ''IdxModule'' first, as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
# your program code&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NumPy utils ===&lt;br /&gt;
&lt;br /&gt;
In order to facilitate interoperation with existing python scientific libraries as NumPy we provide two function to convert data arrays from/to ViSUS Array an NumPy array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy&lt;br /&gt;
&lt;br /&gt;
# convert our buffer to a numpy array.&lt;br /&gt;
# This is useful when we want to read data from &lt;br /&gt;
# and IDX dataset and use this array with other libraries&lt;br /&gt;
numpy_array=convertToNumPyArray(in_visus_array)&lt;br /&gt;
&lt;br /&gt;
# convert a numpy array to a ViSUS array&lt;br /&gt;
visus_array = convertToVisusArray(numpy_array)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Write data in IDX format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line='line'&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
&lt;br /&gt;
# define a box which defines the bounding box&lt;br /&gt;
# of the grid where our data will be stored&lt;br /&gt;
# a box is defined by two points (p1 and p2)&lt;br /&gt;
# which define the two opposite corners of the box&lt;br /&gt;
# in this case the box has size 16x16x16&lt;br /&gt;
dataset_box=NdBox(NdPoint(0,0,0),NdPoint.one(16,16,16))&lt;br /&gt;
    &lt;br /&gt;
# create and IDX file where to to store the data&lt;br /&gt;
idxfile=IdxFile();&lt;br /&gt;
&lt;br /&gt;
# set dataset box&lt;br /&gt;
idxfile.box=NdBox(dataset_box)&lt;br /&gt;
&lt;br /&gt;
# add integer field to the dataset&lt;br /&gt;
idxfile.fields.push_back(Field(&amp;quot;myfield&amp;quot;,DType.fromString(&amp;quot;uint32&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
# save the metadata on disk (no data are saved yet)&lt;br /&gt;
bSaved=idxfile.save(self.filename)&lt;br /&gt;
self.assertTrue(bSaved)&lt;br /&gt;
&lt;br /&gt;
# load the dataset we just created    &lt;br /&gt;
dataset=Dataset.loadDataset(self.filename)&lt;br /&gt;
self.assertIsNotNone(dataset)&lt;br /&gt;
&lt;br /&gt;
# create access to write the data&lt;br /&gt;
access=dataset.get().createAccess()&lt;br /&gt;
&lt;br /&gt;
# write data slice by slice    &lt;br /&gt;
sampleid=0    &lt;br /&gt;
for Z in range(0,16):&lt;br /&gt;
  # create box to hold the Z slice of the data&lt;br /&gt;
  slice_box=dataset.get().getBox().getZSlab(Z,Z+1)&lt;br /&gt;
  &lt;br /&gt;
  # create write query &lt;br /&gt;
  query=QueryPtr(Query(dataset.get(),ord('w')))&lt;br /&gt;
  # set query box&lt;br /&gt;
  query.get().position=Position(slice_box)&lt;br /&gt;
      &lt;br /&gt;
  # initialize query&lt;br /&gt;
  self.assertTrue(dataset.get().beginQuery(query))&lt;br /&gt;
  # check if size of the query is equal to the dimension of our dataset&lt;br /&gt;
  self.assertEqual(query.get().nsamples.innerProduct(),16*16)&lt;br /&gt;
  &lt;br /&gt;
  # create a Visus Array to store the data&lt;br /&gt;
  buffer=Array(query.get().nsamples,query.get().field.dtype)&lt;br /&gt;
  # set the output buffer of the query to the array we just created&lt;br /&gt;
  query.get().buffer=buffer&lt;br /&gt;
      &lt;br /&gt;
  # convert our buffer to a numpy array &lt;br /&gt;
  fill=convertToNumPyArray(buffer)&lt;br /&gt;
&lt;br /&gt;
  # fill up the array with some values&lt;br /&gt;
  for Y in range(16):&lt;br /&gt;
    for X in range(16):&lt;br /&gt;
      fill[Y,X]=sampleid&lt;br /&gt;
      sampleid+=1&lt;br /&gt;
&lt;br /&gt;
# execute query&lt;br /&gt;
success = dataset.get().executeQuery(access,query)&lt;br /&gt;
&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Read from IDX file == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line='line'&amp;gt;&lt;br /&gt;
IdxModule.attach()&lt;br /&gt;
&lt;br /&gt;
# open an IDX dataset&lt;br /&gt;
dataset=Dataset_loadDataset(self.filename)&lt;br /&gt;
# check it is valid&lt;br /&gt;
self.assertIsNotNone(dataset)&lt;br /&gt;
&lt;br /&gt;
# get the bounding box of the dataset &lt;br /&gt;
# the box is defined by a set of 2 points (p1 and p2)&lt;br /&gt;
# which define the two corners of a bounding box&lt;br /&gt;
box=dataset.get().getBox()&lt;br /&gt;
&lt;br /&gt;
# get the default field of a dataset&lt;br /&gt;
field=dataset.get().getDefaultField()&lt;br /&gt;
&lt;br /&gt;
#create access&lt;br /&gt;
access=dataset.get().createAccess()&lt;br /&gt;
&lt;br /&gt;
# here we read the datasets slice by slice&lt;br /&gt;
# making box queries &lt;br /&gt;
sampleid=0&lt;br /&gt;
for Z in range(0,16):&lt;br /&gt;
  slice_box=box.getZSlab(Z,Z+1)&lt;br /&gt;
      &lt;br /&gt;
  # define a read query&lt;br /&gt;
  query=QueryPtr(Query(dataset.get(),ord('r')))&lt;br /&gt;
  # set the box for the query&lt;br /&gt;
  query.get().position=Position(slice_box)&lt;br /&gt;
      &lt;br /&gt;
  self.assertTrue(dataset.get().beginQuery(query))&lt;br /&gt;
  # check the size of the output of the query &lt;br /&gt;
  print(&amp;quot;query size&amp;quot;, query.get().nsamples.innerProduct())&lt;br /&gt;
  # execute query&lt;br /&gt;
  self.assertTrue(dataset.get().executeQuery(access,query))&lt;br /&gt;
  &lt;br /&gt;
  # convert output buffer to a numpy array&lt;br /&gt;
  my_numpy_array=convertToNumPyArray(query.get().buffer)&lt;br /&gt;
&lt;br /&gt;
IdxModule.detach()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=444</id>
		<title>MediaWiki:Tweeki-navbar-left</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=444"/>
		<updated>2019-03-05T00:29:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUS Viewer,*ViSUS Viewer,*ViSUS WebViewer,Data Portal,*ViSUS Data Portal,*ViSUS Server,*ViSUS Docker Deployment,*ViSUS configuration file|ViSUS configuration,ViSUSpy|ViSUS Python,ViSUS Tools,*ViSUS Utilities,*ViSUS Convert,PIDX,*PIDX,*PIDX_Uintah|PIDX Uintah&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=443</id>
		<title>MediaWiki:Tweeki-navbar-left</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=443"/>
		<updated>2019-03-05T00:28:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUS Viewer,*ViSUS Viewer,*ViSUS WebViewer,Data Portal,*ViSUS Data Portal,*ViSUS Server,*ViSUS Docker Deployment,*ViSUS configuration file|ViSUS configuration,ViSUSPy|ViSUS Python,ViSUS Tools,*ViSUS Utilities,*ViSUS Convert,PIDX,*PIDX,*PIDX_Uintah|PIDX Uintah&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=442</id>
		<title>MediaWiki:Tweeki-navbar-left</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=442"/>
		<updated>2019-03-05T00:28:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUS Viewer,*ViSUS Viewer,*ViSUS WebViewer,Data Portal,*ViSUS Data Portal,*ViSUS Server,*ViSUS Docker Deployment,*ViSUS configuration file|ViSUS configuration,ViSUS Python|ViSUSPy,ViSUS Tools,*ViSUS Utilities,*ViSUS Convert,PIDX,*PIDX,*PIDX_Uintah|PIDX Uintah&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=PIDX&amp;diff=441</id>
		<title>PIDX</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=PIDX&amp;diff=441"/>
		<updated>2019-02-27T22:44:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Build and install PIDX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PIDX is an efficient parallel I/O library that reads and writes multiresolution data. PIDX is open source and available on GitHub: [https://github.com/sci-visus/PIDX/ PIDX]&lt;br /&gt;
&lt;br /&gt;
== Build and install PIDX ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/sci-visus/PIDX.git&lt;br /&gt;
cd PIDX&lt;br /&gt;
mkdir -p build &lt;br /&gt;
cd build&lt;br /&gt;
cmake ../ -DCMAKE_BUILD_TYPE=Release -DPIDX_BUILD_EXAMPLES=ON&lt;br /&gt;
make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optional Build Settings ===&lt;br /&gt;
&lt;br /&gt;
Explicitly control whether to build static or shared library, add to your cmake command:&lt;br /&gt;
-DBUILD_SHARED_LIBS=[ON|OFF]&lt;br /&gt;
&lt;br /&gt;
Enable Examples, add to your cmake command:&lt;br /&gt;
-DPIDX_BUILD_EXAMPLES=[ON|OFF]&lt;br /&gt;
&lt;br /&gt;
Enable Profiling, add to your cmake command:&lt;br /&gt;
-DPIDX_BUILD_PROFILE=[ON|OFF]&lt;br /&gt;
&lt;br /&gt;
=== Integrate PIDX in your project ===&lt;br /&gt;
&lt;br /&gt;
The file ''FindPIDX.cmake'' is provided in the root installation directory after running make install. It configures PIDX_INCLUDE_DIR and PIDX_LIBRARIES for use by your application (e.g. via CMake).&lt;br /&gt;
If you are using your custom Make file you can:&lt;br /&gt;
* compile with -I/install/path/PIDX (add to CFLAGS).&lt;br /&gt;
* link with -L/install/path/PIDX/lib -lpidx -lzfp (add to LDFLAGS).&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
In these examples we describe how to write and read data using the PIDX library. We consider a global 3D regular grid domain that we will call global domain (g). This global domain represents the grid space where all the data resides.&lt;br /&gt;
&lt;br /&gt;
In a parallel environment each core (e.g. MPI rank) owns a portion of the data that has to be written on the disk. We refer to this portion of the domain as local domain (l).&lt;br /&gt;
&lt;br /&gt;
In this example we want to write in parallel data from a number of cores (N). For simplicity we define N local domains of equal size (i.e. &amp;lt;code&amp;gt;calculate_per_process_offsets()&amp;lt;/code&amp;gt;). In a real case the local domains can have arbitrary size.&lt;br /&gt;
&lt;br /&gt;
The data used for these examples are generated by a function (i.e. &amp;lt;code&amp;gt;create_synthetic_simulation_data()&amp;lt;/code&amp;gt;) that fills the global grid with a gradient.&lt;br /&gt;
&lt;br /&gt;
PIDX is an library that uses MPI, as such we need first of all to initialize MPI and get the some useful information (e.g. current rank and processors count). In this example is performed by the &amp;lt;code&amp;gt;init_mpi()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
If you want to write and read data in PIDX you just need to follow a few simple steps: - identify the per-process local domain - create a &amp;lt;code&amp;gt;PIDX_access&amp;lt;/code&amp;gt;, it defines how you want to access the data (serial or parallel) - create or access a &amp;lt;code&amp;gt;PIDX_file&amp;lt;/code&amp;gt;, it defines the dataset - define or read one or more &amp;lt;code&amp;gt;PIDX_variable&amp;lt;/code&amp;gt; - write/read the variables&lt;br /&gt;
&lt;br /&gt;
=== How to write ===&lt;br /&gt;
&lt;br /&gt;
The data that we want to write from each processor can be considered as a ''box'' in the global domain. This ''box'' is represented by and ''offset'' (i.e. the position in the global domain) and a ''size'' (i.e. the number of elements in the box).&lt;br /&gt;
&lt;br /&gt;
PIDX uses a ''struct'' called &amp;lt;code&amp;gt;PIDX_point&amp;lt;/code&amp;gt; to represent a value in n-dimensional space. We can use this ''struct'' to '''define the global domain size, and the local box information'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_set_point(global_size, global_box_size[X], global_box_size[Y], global_box_size[Z]);&lt;br /&gt;
PIDX_set_point(local_offset, local_box_offset[X], local_box_offset[Y], local_box_offset[Z]);&lt;br /&gt;
PIDX_set_point(local_size, local_box_size[X], local_box_size[Y], local_box_size[Z]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The next step is to '''create an access''' to tell PIDX how we want to access the data, in this case in parallel. We can do this as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_create_access(&amp;amp;p_access);&lt;br /&gt;
PIDX_set_mpi_access(p_access, MPI_COMM_WORLD);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it is time to '''create the file''' using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_file file;&lt;br /&gt;
PIDX_file_create(output_file_name, PIDX_MODE_CREATE, p_access, global_size, &amp;amp;file);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parameters that we use are: - ''output_file_name'', the name of the file that we want to create - ''file_access_mode'', in this case we create the file - ''pidx_access'', the access configuration that we defined - ''global_size'', the global domain size as we defined - ''file'', the PIDX_file struct that we are creating&lt;br /&gt;
&lt;br /&gt;
Other general settings that we want to do are '''setting the current timestep''' (i.e. logical time)using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_set_current_time_step(file, ts);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
and the current '''number of variables''' that we want to write, as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;PIDX_set_variable_count(file, variable_count);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
We are now ready to define these variables. A variable in PIDX is defined by: - a name - a number of bits, e.g. 32 for a 32 bit integer variable - a typename, e.g. &amp;amp;quot;1*int32&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
The number of bits is given by the product of number of bits per value (e.g. an ''int'' value has 32 bits) and values per sample (e.g. a vector of ''float'' with 3 components has 3 values per sample).&lt;br /&gt;
&lt;br /&gt;
With these information we can '''create our variables''' as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_variable_create(var_name[var], bpv[var] * vps[var], type_name[var], &amp;amp;variable[var]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
where ''variable'' is an array of &amp;lt;code&amp;gt;PIDX_variable&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
We want to tell to PIDX where this variable's data are in memory in the per-process '''local domain''', we do this as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_variable_write_data_layout(variable[var], local_offset, local_size, data[var], PIDX_row_major);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ''data'' is a ''char'' pointer to the data array (of the specific variable) and the last parameter (&amp;lt;code&amp;gt;PIDX_row_major&amp;lt;/code&amp;gt;) indicates the order of the data in this array (e.g. row major).&lt;br /&gt;
&lt;br /&gt;
Finally we can tell PIDX to submit this '''variable for the parallel write''', we do this using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_append_and_write_variable(file, variable[var]);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For performance improvement PIDX tries to gather data from multiple variables and dump them to disk at once only when the function &amp;lt;code&amp;gt;PIDX_close(file)&amp;lt;/code&amp;gt; is called.&lt;br /&gt;
&lt;br /&gt;
In some cases it could be useful to explicitly control when PIDX has to dump a number of variables on the disk. This can be done using the function &amp;lt;code&amp;gt;PIDX_flush()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example source: [https://github.com/sci-visus/PIDX/blob/master/examples/basic-io/idx_write.c idx_write.c]&lt;br /&gt;
&lt;br /&gt;
=== How to read ===&lt;br /&gt;
&lt;br /&gt;
To read data written with PIDX we follow the same initialization process to create the &amp;lt;code&amp;gt;PIDX_access&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PIDX_file&amp;lt;/code&amp;gt; that we saw in the previous section.&lt;br /&gt;
&lt;br /&gt;
After the initialization the first step is to know how many variables are in the dataset, we can do this using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_get_variable_count(file, &amp;amp;variable_count);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
With this information we can try to gather more information about a specific variable, in the following case the variable number ''variable_index'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_set_current_variable_index(file, variable_index);&lt;br /&gt;
PIDX_get_current_variable(file, &amp;amp;variable);&lt;br /&gt;
PIDX_values_per_datatype(variable-&amp;gt;type_name, &amp;amp;values_per_sample, &amp;amp;bits_per_sample);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using these functions we retrieved alse the type name, the number of values per sample and the number of bits per sample.&lt;br /&gt;
&lt;br /&gt;
Now it is time to read the data using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
PIDX_variable_read_data_layout(variable, local_offset, local_size, data, PIDX_row_major);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Also in this case we need to indicate the per-process local box information (i.e. local offset and local size) and the array where we want to store the data of this variable. When the &amp;lt;code&amp;gt;PIDX_close(file)&amp;lt;/code&amp;gt; will be called the data of this variable will be copied to our local ''data'' array in row major order.&lt;br /&gt;
&lt;br /&gt;
Example source: [https://github.com/sci-visus/PIDX/blob/master/examples/basic-io/idx_read.c idx_read.c]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=440</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=440"/>
		<updated>2019-02-27T22:41:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Use persistant storage for your data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want also the converted data to be persistent you can mount another folder for them (i.e., that will be mapped to the ''/converted'' data folder inside the container) as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data -v /my/converted_data/folder:/converted visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=439</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=439"/>
		<updated>2019-02-26T20:12:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DataPortal internal settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/OpenVisus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/OpenVisus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/OpenVisus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=438</id>
		<title>MediaWiki:Tweeki-navbar-left</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=438"/>
		<updated>2019-02-21T17:43:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUS Viewer,*ViSUS Viewer,*ViSUS WebViewer,Data Portal,*ViSUS Data Portal,*ViSUS Server,*ViSUS Docker Deployment,*ViSUS configuration file|ViSUS configuration,ViSUS Python,ViSUS Tools,*ViSUS Utilities,*ViSUS Convert,PIDX,*PIDX,*PIDX_Uintah|PIDX Uintah&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=437</id>
		<title>MediaWiki:Tweeki-navbar-left</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=437"/>
		<updated>2019-02-21T17:42:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUS Viewer,*ViSUS Viewer,*ViSUS WebViewer,Data Portal,*ViSUS Data Portal,*ViSUS Server,*ViSUS Docker Deployment,*ViSUS configuration file|ViSUS configuration,ViSUS Python,ViSUS Tools,*ViSUS Utilities,*ViSUS Convert,PIDX,*PIDX,*PIDX_Uintah&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=436</id>
		<title>MediaWiki:Tweeki-navbar-left</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=MediaWiki:Tweeki-navbar-left&amp;diff=436"/>
		<updated>2019-02-21T17:37:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ViSUS Viewer,*ViSUS Viewer,*ViSUS WebViewer,Data Portal,*ViSUS Data Portal,*ViSUS Server,*ViSUS Docker Deployment,*ViSUS configuration file|ViSUS configuration,ViSUSpy,ViSUS Tools,*ViSUS Utilities,*ViSUS Convert,PIDX,*PIDX,*PIDX_Uintah&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=435</id>
		<title>PIDX Uintah</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=435"/>
		<updated>2019-02-21T17:36:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Uintah can be built with PIDX I/O support simple adding the parameter ''--enable-pidx'' to your configure instruction.&lt;br /&gt;
For example a configure script could use it as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
../src/configure \&lt;br /&gt;
      --enable-arches \&lt;br /&gt;
      --enable-64bit \&lt;br /&gt;
      --enable-optimize \&lt;br /&gt;
      --enable-static=full \&lt;br /&gt;
      --enable-pidx &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or if you want to specify a specific location where PIDX is installed you can use ''--with-pidx'' as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
../src/configure \&lt;br /&gt;
      --enable-arches \&lt;br /&gt;
      --enable-64bit \&lt;br /&gt;
      --enable-optimize \&lt;br /&gt;
      --enable-static=full \&lt;br /&gt;
      --with-pidx=/path/to/PIDX/install &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to instruct a simulation to use PIDX you have to edit the .ups and replace &amp;lt;DataArchiver&amp;gt; with &amp;lt;DataArchiver type=&amp;quot;PIDX&amp;quot;&amp;gt;. &lt;br /&gt;
Here is an example of configuration you can use to generate data in the multiresolution IDX format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DataArchiver type=&amp;quot;PIDX&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PIDX&amp;gt;&lt;br /&gt;
      &amp;lt;checkpoint&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/checkpoint&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
     &amp;lt;visIo&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/visIo&amp;gt;&lt;br /&gt;
  &amp;lt;/PIDX&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=434</id>
		<title>PIDX Uintah</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=434"/>
		<updated>2019-02-21T17:33:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Uintah can be built with PIDX I/O support simple adding the parameter ''-enable-pidx'' to your configure instruction.&lt;br /&gt;
&lt;br /&gt;
In order to instruct a simulation to use PIDX you have to edit the .ups and replace &amp;lt;DataArchiver&amp;gt; with &amp;lt;DataArchiver type=&amp;quot;PIDX&amp;quot;&amp;gt;. &lt;br /&gt;
Here is an example of configuration you can use to generate data in the multiresolution IDX format:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DataArchiver type=&amp;quot;PIDX&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PIDX&amp;gt;&lt;br /&gt;
      &amp;lt;checkpoint&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/checkpoint&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
     &amp;lt;visIo&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/visIo&amp;gt;&lt;br /&gt;
  &amp;lt;/PIDX&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=433</id>
		<title>PIDX Uintah</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=433"/>
		<updated>2019-02-21T17:33:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Uintah can be built with PIDX I/O support simple adding the parameter ''-enable-pidx'' to your configure instruction.&lt;br /&gt;
&lt;br /&gt;
In order to instruct a simulation to use PIDX you have to edit the .ups and replace &amp;lt;DataArchiver&amp;gt; with &amp;lt;DataArchiver type=&amp;quot;PIDX”&amp;gt;. &lt;br /&gt;
Here is an example of configuration you can use to generate data in the multiresolution IDX format:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DataArchiver type=&amp;quot;PIDX”&amp;gt;&lt;br /&gt;
  &amp;lt;PIDX&amp;gt;&lt;br /&gt;
      &amp;lt;checkpoint&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/checkpoint&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
     &amp;lt;visIo&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/visIo&amp;gt;&lt;br /&gt;
  &amp;lt;/PIDX&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=432</id>
		<title>PIDX Uintah</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=PIDX_Uintah&amp;diff=432"/>
		<updated>2019-02-21T17:31:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;Uintah can be built with PIDX I/O support simple adding the parameter ''-enable-pidx'' to your configure instruction.  In order to instruct a simulation to use PIDX you have t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Uintah can be built with PIDX I/O support simple adding the parameter ''-enable-pidx'' to your configure instruction.&lt;br /&gt;
&lt;br /&gt;
In order to instruct a simulation to use PIDX you have to edit the .ups file with the following:&lt;br /&gt;
&amp;lt;PIDX&amp;gt;&lt;br /&gt;
      &amp;lt;checkpoint&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/checkpoint&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
     &amp;lt;visIo&amp;gt;&lt;br /&gt;
        &amp;lt;compressionType&amp;gt;None&amp;lt;/compressionType&amp;gt;&lt;br /&gt;
        &amp;lt;idxIo&amp;gt;&amp;lt;/idxIo&amp;gt;&lt;br /&gt;
      &amp;lt;/visIo&amp;gt;&lt;br /&gt;
  &amp;lt;/PIDX&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=431</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=431"/>
		<updated>2019-02-19T18:31:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DataPortal internal settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly the web viewer URL configuration can be modified mounting your custom ''config.js'' file as following&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v config.js:/home/visus/dataportal/viewer/config.js visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file will have to contain the definition of the server URL that will be accessed remotely (i.e., not anymore localhost), for example as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
DEFAULT_SERVER='http://myserver.mydomain:8080/mod_visus?';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=430</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=430"/>
		<updated>2019-02-19T18:27:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DataPortal internal settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // Data output directory&lt;br /&gt;
  $out_data_dir=&amp;quot;/converted&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=429</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=429"/>
		<updated>2019-01-30T21:16:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Manage Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the Browse button the user can open the file manager to select a file (or a folder) to convert. The user can also drop new file in the window, and those will be uploaded on the server.&lt;br /&gt;
'''Note''': if you are converting a stack of images put all (and only) the images you want to stack into a volume in the same folder.&lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will try to estimate the size and datatype and automatically fill up the conversion parameters for you (i.e., size and datatype). The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=File:Hearth.png&amp;diff=428</id>
		<title>File:Hearth.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=File:Hearth.png&amp;diff=428"/>
		<updated>2019-01-30T21:12:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin uploaded a new version of File:Hearth.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=File:Convert.png&amp;diff=427</id>
		<title>File:Convert.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=File:Convert.png&amp;diff=427"/>
		<updated>2019-01-30T21:10:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin uploaded a new version of File:Convert.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=File:File_manager.png&amp;diff=426</id>
		<title>File:File manager.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=File:File_manager.png&amp;diff=426"/>
		<updated>2019-01-30T21:08:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin uploaded a new version of File:File manager.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=425</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=425"/>
		<updated>2019-01-30T21:08:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Manage Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=424</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=424"/>
		<updated>2019-01-23T18:09:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DataPortal internal settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''local.php'' file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=423</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=423"/>
		<updated>2019-01-23T18:08:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=422</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=422"/>
		<updated>2019-01-23T18:08:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
== Advanced == &lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=421</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=421"/>
		<updated>2019-01-23T18:04:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* DataPortal internal settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=420</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=420"/>
		<updated>2019-01-23T18:04:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
=== DataPortal internal settings ===&lt;br /&gt;
&lt;br /&gt;
Some internal settings can be customized using a configuration file (i.e., ''local.php''), that can be mounted when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file looks like the following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  // This is a local site configuration file&lt;br /&gt;
	&lt;br /&gt;
  // Admin credentials for this server&lt;br /&gt;
  $admin_user=&amp;quot;admin&amp;quot;; &lt;br /&gt;
  $admin_password=&amp;quot;password&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  // mod_visus_url&lt;br /&gt;
  $mod_visus_url=&amp;quot;http://localhost:8080/mod_visus?&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
  /**** DO NOT CHANGE THE REST ****/&lt;br /&gt;
  // Default server config file location (on the server's filesystem)	&lt;br /&gt;
  $default_config_file=&amp;quot;/home/visus/visus.config&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  // Data directory&lt;br /&gt;
  $data_dir=&amp;quot;/data&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  // visus executable&lt;br /&gt;
  $visus_exe=&amp;quot;/usr/local/lib/python3.5/dist-packages/OpenVisus/bin/visus&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=419</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=419"/>
		<updated>2019-01-23T18:00:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
You can change those and other settings from the ''local.php'' file, that you can mount when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Use persistant storage for your data ===&lt;br /&gt;
&lt;br /&gt;
If you want to use your local data directly on the data portal and keep the converted multiresolution data available anytime you run your container you might want to mount this folder to the data portal data folder (''/data'') as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /my/data/folder:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=418</id>
		<title>ViSUS Docker Deployment</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=418"/>
		<updated>2019-01-23T17:55:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Content of the image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
To log in from your terminal:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker login&lt;br /&gt;
Username: your_username&lt;br /&gt;
Password: XXXX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
Run the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check if the server is running:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -v &amp;quot;http://localhost:8080/mod_visus?action=list&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will get a list of the current datasets on the server.&lt;br /&gt;
&lt;br /&gt;
=== Content of the image ===&lt;br /&gt;
&lt;br /&gt;
This image contains folders with configuration files and utilities.&lt;br /&gt;
The folders of interest are under /visus:&lt;br /&gt;
* '''config''', it contains the visus server.config (see [[ViSUS configuration file]])&lt;br /&gt;
* '''apache2''', it contains the apache2 config files that you can use for security settings (see [[ViSUS Server]])&lt;br /&gt;
* '''visus''', it contains visus tool (see [[ViSUS Convert]]) to convert data to IDX format&lt;br /&gt;
&lt;br /&gt;
The user can map those folders locally and edit them adding a volume (with the Docker parameter ''-v''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /path/local_directory:/data/folder_in_container visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when you run you docker image.&lt;br /&gt;
&lt;br /&gt;
=== How to customize the list of datasets on your server ===&lt;br /&gt;
The list of dataset that the server exposes are contained in the [[ViSUS configuration file]].&lt;br /&gt;
&lt;br /&gt;
If you have already a [[ViSUS configuration file]] that you want to use, you can run the container as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v $PWD/config:/visus/config visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and edit the '''visus.config''' file (see [[ViSUS configuration file]]).&lt;br /&gt;
&lt;br /&gt;
'''Note''': The server needs to be able to read and write the configuration file, so make sure that your ''server.config'' has the right privileges. For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 766 /path/to/your/server.config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Making the configuration file writable will allow to add datasets dynamically using the action ''add_dataset'' (see [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
If you also want to customize the apache security (e.g. change the users) you can run the command to mount also the apache2 directory as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -d -p 8080:80 -v $PWD/config:/visus/config -v $PWD/apache2:/visus/apache2 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert your data to IDX using the Docker deployment tools ===&lt;br /&gt;
&lt;br /&gt;
The ViSUS tools executables (see [[ViSUS Convert]]) are contained in the container under &amp;lt;code&amp;gt;/usr/local/visus/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example, if you want to use the tools to convert a raw dataset using your docker deployment you can do it as follow.&lt;br /&gt;
&lt;br /&gt;
Mount a folder that contains your ''raw'' data and your converted ''idx'' data as follow:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v /full/path/to/your/raw/:/home/visus/datasets/raw -v /full/path/to/your/idx/:/home/visus/datasets/idx visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check that your container is running correctly (using &amp;lt;code&amp;gt;docker ps&amp;lt;/code&amp;gt;) and take note of the ''Container ID''.&lt;br /&gt;
&lt;br /&gt;
Now run a bash session on this container using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec -it &amp;lt;id_from_docker_ps&amp;gt; /bin/bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From this bash session you can use your ViSUS converter to convert your data (just mounted in the container) as described in [[ViSUS Convert]].&lt;br /&gt;
&lt;br /&gt;
=== Preview your data with the Web Viewer ===&lt;br /&gt;
&lt;br /&gt;
You can preview and navigate you data on the server using the webviewer using your browser at the URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
Here is a picture of the viewer:&lt;br /&gt;
[[File:2dwebviewer.png|300px]]&lt;br /&gt;
&lt;br /&gt;
With the commands on the bottom bar you can:&lt;br /&gt;
* change server&lt;br /&gt;
* set a slice (if using a 3D dataset)&lt;br /&gt;
* set a timestep&lt;br /&gt;
* set palettes and min-max range&lt;br /&gt;
* choose a field of the selected dataset&lt;br /&gt;
&lt;br /&gt;
== ViSUS Server for NetCDF data == &lt;br /&gt;
&lt;br /&gt;
An addition on-demand conversion service for NetCDF datasets is available in the &amp;quot;ondemand&amp;quot; Docker container.&lt;br /&gt;
&lt;br /&gt;
To try it, pull the ViSUS on-demand image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This container provides three services:&lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* conversion service (i.e., currently limited to NetCDF datasets)&lt;br /&gt;
* a simple Web viewer &lt;br /&gt;
&lt;br /&gt;
=== How to run the Containter ===&lt;br /&gt;
&lt;br /&gt;
You need to specify few simple settings:&lt;br /&gt;
* the port you want to use for the conversion service (internal 80)&lt;br /&gt;
* the port you want to use for the webviewer and data server (internal 42299) &lt;br /&gt;
* the folder containing the files to serve/convert (i.e., NetCDF files), this will be mapped to &amp;quot;/data/xml&amp;quot; in the container&lt;br /&gt;
* a folder to use for caching the multiresolution data for streaming, this will be mapped to &amp;quot;/data/idx&amp;quot; in the container&lt;br /&gt;
&lt;br /&gt;
Quick start with some demo data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# create directory for your input data&lt;br /&gt;
mkdir -p $PWD/nc&lt;br /&gt;
# create directory for your cache&lt;br /&gt;
mkdir -p $PWD/idx&lt;br /&gt;
&lt;br /&gt;
# download a sample NetCDF dataset&lt;br /&gt;
wget https://www.dropbox.com/s/jnhptd5vswaurem/test2d.nc -O ./nc/test2d.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the container:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it -p 80:80 -p 42299:42299 -v $PWD/nc:/data/xml -v $PWD/idx:/data/idx visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this run command we mapped:&lt;br /&gt;
* port 80, used in the container for the data streaming and webviewer services&lt;br /&gt;
* port 42299, used in the container for the NetCDF data conversion service&lt;br /&gt;
&lt;br /&gt;
=== Visualize/convert your data on the server ===&lt;br /&gt;
&lt;br /&gt;
Go to the On-demand test page: [http://localhost/ondemand.php http://localhost/ondemand.php]. &lt;br /&gt;
&lt;br /&gt;
Note: replace &amp;quot;localhost&amp;quot; with your server name and port if you are running with custom settings.&lt;br /&gt;
&lt;br /&gt;
In this page you will find the list of *.nc contained in the folder you provided. You can click on the corresponding &amp;quot;View&amp;quot; button to visualize your data. Note: if the dataset has not been already converted the request could take a few second since it will be converting on-demand.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=417</id>
		<title>ViSUS Docker Deployment</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=417"/>
		<updated>2019-01-23T17:55:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* How to customize the list of datasets on your server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
To log in from your terminal:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker login&lt;br /&gt;
Username: your_username&lt;br /&gt;
Password: XXXX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
Run the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check if the server is running:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -v &amp;quot;http://localhost:8080/mod_visus?action=list&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will get a list of the current datasets on the server.&lt;br /&gt;
&lt;br /&gt;
=== Content of the image ===&lt;br /&gt;
&lt;br /&gt;
This image contains folders with configuration files and utilities.&lt;br /&gt;
The folders of interest are under /visus:&lt;br /&gt;
* '''config''', it contains the visus server.config (see [[ViSUS configuration file]])&lt;br /&gt;
* '''apache2''', it contains the apache2 config files that you can use for security settings (see [[ViSUS Server]])&lt;br /&gt;
* '''visus''', it contains visus tool (see [[ViSUS Convert]]) to convert data to IDX format&lt;br /&gt;
&lt;br /&gt;
The user can map those folders locally and edit them adding a volume (with the Docker parameter ''-v''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /path/local_directory:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when you run you docker image.&lt;br /&gt;
&lt;br /&gt;
=== How to customize the list of datasets on your server ===&lt;br /&gt;
The list of dataset that the server exposes are contained in the [[ViSUS configuration file]].&lt;br /&gt;
&lt;br /&gt;
If you have already a [[ViSUS configuration file]] that you want to use, you can run the container as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v $PWD/config:/visus/config visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and edit the '''visus.config''' file (see [[ViSUS configuration file]]).&lt;br /&gt;
&lt;br /&gt;
'''Note''': The server needs to be able to read and write the configuration file, so make sure that your ''server.config'' has the right privileges. For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 766 /path/to/your/server.config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Making the configuration file writable will allow to add datasets dynamically using the action ''add_dataset'' (see [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
If you also want to customize the apache security (e.g. change the users) you can run the command to mount also the apache2 directory as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -d -p 8080:80 -v $PWD/config:/visus/config -v $PWD/apache2:/visus/apache2 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert your data to IDX using the Docker deployment tools ===&lt;br /&gt;
&lt;br /&gt;
The ViSUS tools executables (see [[ViSUS Convert]]) are contained in the container under &amp;lt;code&amp;gt;/usr/local/visus/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example, if you want to use the tools to convert a raw dataset using your docker deployment you can do it as follow.&lt;br /&gt;
&lt;br /&gt;
Mount a folder that contains your ''raw'' data and your converted ''idx'' data as follow:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v /full/path/to/your/raw/:/home/visus/datasets/raw -v /full/path/to/your/idx/:/home/visus/datasets/idx visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check that your container is running correctly (using &amp;lt;code&amp;gt;docker ps&amp;lt;/code&amp;gt;) and take note of the ''Container ID''.&lt;br /&gt;
&lt;br /&gt;
Now run a bash session on this container using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec -it &amp;lt;id_from_docker_ps&amp;gt; /bin/bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From this bash session you can use your ViSUS converter to convert your data (just mounted in the container) as described in [[ViSUS Convert]].&lt;br /&gt;
&lt;br /&gt;
=== Preview your data with the Web Viewer ===&lt;br /&gt;
&lt;br /&gt;
You can preview and navigate you data on the server using the webviewer using your browser at the URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
Here is a picture of the viewer:&lt;br /&gt;
[[File:2dwebviewer.png|300px]]&lt;br /&gt;
&lt;br /&gt;
With the commands on the bottom bar you can:&lt;br /&gt;
* change server&lt;br /&gt;
* set a slice (if using a 3D dataset)&lt;br /&gt;
* set a timestep&lt;br /&gt;
* set palettes and min-max range&lt;br /&gt;
* choose a field of the selected dataset&lt;br /&gt;
&lt;br /&gt;
== ViSUS Server for NetCDF data == &lt;br /&gt;
&lt;br /&gt;
An addition on-demand conversion service for NetCDF datasets is available in the &amp;quot;ondemand&amp;quot; Docker container.&lt;br /&gt;
&lt;br /&gt;
To try it, pull the ViSUS on-demand image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This container provides three services:&lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* conversion service (i.e., currently limited to NetCDF datasets)&lt;br /&gt;
* a simple Web viewer &lt;br /&gt;
&lt;br /&gt;
=== How to run the Containter ===&lt;br /&gt;
&lt;br /&gt;
You need to specify few simple settings:&lt;br /&gt;
* the port you want to use for the conversion service (internal 80)&lt;br /&gt;
* the port you want to use for the webviewer and data server (internal 42299) &lt;br /&gt;
* the folder containing the files to serve/convert (i.e., NetCDF files), this will be mapped to &amp;quot;/data/xml&amp;quot; in the container&lt;br /&gt;
* a folder to use for caching the multiresolution data for streaming, this will be mapped to &amp;quot;/data/idx&amp;quot; in the container&lt;br /&gt;
&lt;br /&gt;
Quick start with some demo data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# create directory for your input data&lt;br /&gt;
mkdir -p $PWD/nc&lt;br /&gt;
# create directory for your cache&lt;br /&gt;
mkdir -p $PWD/idx&lt;br /&gt;
&lt;br /&gt;
# download a sample NetCDF dataset&lt;br /&gt;
wget https://www.dropbox.com/s/jnhptd5vswaurem/test2d.nc -O ./nc/test2d.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the container:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it -p 80:80 -p 42299:42299 -v $PWD/nc:/data/xml -v $PWD/idx:/data/idx visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this run command we mapped:&lt;br /&gt;
* port 80, used in the container for the data streaming and webviewer services&lt;br /&gt;
* port 42299, used in the container for the NetCDF data conversion service&lt;br /&gt;
&lt;br /&gt;
=== Visualize/convert your data on the server ===&lt;br /&gt;
&lt;br /&gt;
Go to the On-demand test page: [http://localhost/ondemand.php http://localhost/ondemand.php]. &lt;br /&gt;
&lt;br /&gt;
Note: replace &amp;quot;localhost&amp;quot; with your server name and port if you are running with custom settings.&lt;br /&gt;
&lt;br /&gt;
In this page you will find the list of *.nc contained in the folder you provided. You can click on the corresponding &amp;quot;View&amp;quot; button to visualize your data. Note: if the dataset has not been already converted the request could take a few second since it will be converting on-demand.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=416</id>
		<title>ViSUS Docker Deployment</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=416"/>
		<updated>2019-01-23T17:55:05Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* How to customize the list of datasets on your server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
To log in from your terminal:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker login&lt;br /&gt;
Username: your_username&lt;br /&gt;
Password: XXXX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
Run the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check if the server is running:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -v &amp;quot;http://localhost:8080/mod_visus?action=list&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will get a list of the current datasets on the server.&lt;br /&gt;
&lt;br /&gt;
=== Content of the image ===&lt;br /&gt;
&lt;br /&gt;
This image contains folders with configuration files and utilities.&lt;br /&gt;
The folders of interest are under /visus:&lt;br /&gt;
* '''config''', it contains the visus server.config (see [[ViSUS configuration file]])&lt;br /&gt;
* '''apache2''', it contains the apache2 config files that you can use for security settings (see [[ViSUS Server]])&lt;br /&gt;
* '''visus''', it contains visus tool (see [[ViSUS Convert]]) to convert data to IDX format&lt;br /&gt;
&lt;br /&gt;
The user can map those folders locally and edit them adding a volume (with the Docker parameter ''-v''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /path/local_directory:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when you run you docker image.&lt;br /&gt;
&lt;br /&gt;
=== How to customize the list of datasets on your server ===&lt;br /&gt;
The list of dataset that the server exposes are contained in the [[ViSUS configuration file]].&lt;br /&gt;
&lt;br /&gt;
If you have already a [[ViSUS configuration file]] that you want to use, you can run the container as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v $PWD/config:/visus/config visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and edit the '''visus.config''' file (see [[ViSUS configuration file]]).&lt;br /&gt;
&lt;br /&gt;
'''Note''': The server needs to be able to read and write the configuration file, so make sure that your ''server.config'' has the right privileges. For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 766 /path/to/your/server.config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Making the configuration file writable will allow to add datasets dynamically using the action ''add_dataset'' (see [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
If you also want to customize the apache security (e.g. change the users) you can run the command to mount also the apache2 directory as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -d -p 8080:80 -v $PWD/config:/visus/config -v $PWD/apache2:/visus/apache2 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert your data to IDX using the Docker deployment tools ===&lt;br /&gt;
&lt;br /&gt;
The ViSUS tools executables (see [[ViSUS Convert]]) are contained in the container under &amp;lt;code&amp;gt;/usr/local/visus/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example, if you want to use the tools to convert a raw dataset using your docker deployment you can do it as follow.&lt;br /&gt;
&lt;br /&gt;
Mount a folder that contains your ''raw'' data and your converted ''idx'' data as follow:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v /full/path/to/your/raw/:/home/visus/datasets/raw -v /full/path/to/your/idx/:/home/visus/datasets/idx visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check that your container is running correctly (using &amp;lt;code&amp;gt;docker ps&amp;lt;/code&amp;gt;) and take note of the ''Container ID''.&lt;br /&gt;
&lt;br /&gt;
Now run a bash session on this container using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec -it &amp;lt;id_from_docker_ps&amp;gt; /bin/bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From this bash session you can use your ViSUS converter to convert your data (just mounted in the container) as described in [[ViSUS Convert]].&lt;br /&gt;
&lt;br /&gt;
=== Preview your data with the Web Viewer ===&lt;br /&gt;
&lt;br /&gt;
You can preview and navigate you data on the server using the webviewer using your browser at the URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
Here is a picture of the viewer:&lt;br /&gt;
[[File:2dwebviewer.png|300px]]&lt;br /&gt;
&lt;br /&gt;
With the commands on the bottom bar you can:&lt;br /&gt;
* change server&lt;br /&gt;
* set a slice (if using a 3D dataset)&lt;br /&gt;
* set a timestep&lt;br /&gt;
* set palettes and min-max range&lt;br /&gt;
* choose a field of the selected dataset&lt;br /&gt;
&lt;br /&gt;
== ViSUS Server for NetCDF data == &lt;br /&gt;
&lt;br /&gt;
An addition on-demand conversion service for NetCDF datasets is available in the &amp;quot;ondemand&amp;quot; Docker container.&lt;br /&gt;
&lt;br /&gt;
To try it, pull the ViSUS on-demand image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This container provides three services:&lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* conversion service (i.e., currently limited to NetCDF datasets)&lt;br /&gt;
* a simple Web viewer &lt;br /&gt;
&lt;br /&gt;
=== How to run the Containter ===&lt;br /&gt;
&lt;br /&gt;
You need to specify few simple settings:&lt;br /&gt;
* the port you want to use for the conversion service (internal 80)&lt;br /&gt;
* the port you want to use for the webviewer and data server (internal 42299) &lt;br /&gt;
* the folder containing the files to serve/convert (i.e., NetCDF files), this will be mapped to &amp;quot;/data/xml&amp;quot; in the container&lt;br /&gt;
* a folder to use for caching the multiresolution data for streaming, this will be mapped to &amp;quot;/data/idx&amp;quot; in the container&lt;br /&gt;
&lt;br /&gt;
Quick start with some demo data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# create directory for your input data&lt;br /&gt;
mkdir -p $PWD/nc&lt;br /&gt;
# create directory for your cache&lt;br /&gt;
mkdir -p $PWD/idx&lt;br /&gt;
&lt;br /&gt;
# download a sample NetCDF dataset&lt;br /&gt;
wget https://www.dropbox.com/s/jnhptd5vswaurem/test2d.nc -O ./nc/test2d.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the container:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it -p 80:80 -p 42299:42299 -v $PWD/nc:/data/xml -v $PWD/idx:/data/idx visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this run command we mapped:&lt;br /&gt;
* port 80, used in the container for the data streaming and webviewer services&lt;br /&gt;
* port 42299, used in the container for the NetCDF data conversion service&lt;br /&gt;
&lt;br /&gt;
=== Visualize/convert your data on the server ===&lt;br /&gt;
&lt;br /&gt;
Go to the On-demand test page: [http://localhost/ondemand.php http://localhost/ondemand.php]. &lt;br /&gt;
&lt;br /&gt;
Note: replace &amp;quot;localhost&amp;quot; with your server name and port if you are running with custom settings.&lt;br /&gt;
&lt;br /&gt;
In this page you will find the list of *.nc contained in the folder you provided. You can click on the corresponding &amp;quot;View&amp;quot; button to visualize your data. Note: if the dataset has not been already converted the request could take a few second since it will be converting on-demand.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=415</id>
		<title>ViSUS Docker Deployment</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Docker_Deployment&amp;diff=415"/>
		<updated>2019-01-23T17:54:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Content of the image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
To log in from your terminal:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker login&lt;br /&gt;
Username: your_username&lt;br /&gt;
Password: XXXX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
Run the image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check if the server is running:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -v &amp;quot;http://localhost:8080/mod_visus?action=list&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will get a list of the current datasets on the server.&lt;br /&gt;
&lt;br /&gt;
=== Content of the image ===&lt;br /&gt;
&lt;br /&gt;
This image contains folders with configuration files and utilities.&lt;br /&gt;
The folders of interest are under /visus:&lt;br /&gt;
* '''config''', it contains the visus server.config (see [[ViSUS configuration file]])&lt;br /&gt;
* '''apache2''', it contains the apache2 config files that you can use for security settings (see [[ViSUS Server]])&lt;br /&gt;
* '''visus''', it contains visus tool (see [[ViSUS Convert]]) to convert data to IDX format&lt;br /&gt;
&lt;br /&gt;
The user can map those folders locally and edit them adding a volume (with the Docker parameter ''-v''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v /path/local_directory:/data visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when you run you docker image.&lt;br /&gt;
&lt;br /&gt;
=== How to customize the list of datasets on your server ===&lt;br /&gt;
The list of dataset that the server exposes are contained in the [[ViSUS configuration file]].&lt;br /&gt;
&lt;br /&gt;
If you have already a [[ViSUS configuration file]] that you want to use, you can run the container as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v $PWD/config:/visus/config visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and edit the '''visus.config''' file (see [[ViSUS configuration file]]).&lt;br /&gt;
&lt;br /&gt;
'''Note''': The server needs to be able to read and write the configuration file, so make sure that your ''server.config'' has the right privileges. For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 766 /path/to/your/server.config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Making the configuration file writable will allow to add datasets dynamically using the action ''add_dataset'' (see [[ViSUS Server]]).&lt;br /&gt;
&lt;br /&gt;
If you also want to customize the apache security (e.g. change the users) you can run the command to mount also the apache2 directory as following:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -d -p 8080:80 -v $PWD/config:/visus/config -v $PWD/apache2:/visus/apache2 visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Convert your data to IDX using the Docker deployment tools ===&lt;br /&gt;
&lt;br /&gt;
The ViSUS tools executables (see [[ViSUS Convert]]) are contained in the container under &amp;lt;code&amp;gt;/usr/local/visus/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example, if you want to use the tools to convert a raw dataset using your docker deployment you can do it as follow.&lt;br /&gt;
&lt;br /&gt;
Mount a folder that contains your ''raw'' data and your converted ''idx'' data as follow:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 -v /full/path/to/your/raw/:/home/visus/datasets/raw -v /full/path/to/your/idx/:/home/visus/datasets/idx visus/visus&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check that your container is running correctly (using &amp;lt;code&amp;gt;docker ps&amp;lt;/code&amp;gt;) and take note of the ''Container ID''.&lt;br /&gt;
&lt;br /&gt;
Now run a bash session on this container using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec -it &amp;lt;id_from_docker_ps&amp;gt; /bin/bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From this bash session you can use your ViSUS converter to convert your data (just mounted in the container) as described in [[ViSUS Convert]].&lt;br /&gt;
&lt;br /&gt;
=== Preview your data with the Web Viewer ===&lt;br /&gt;
&lt;br /&gt;
You can preview and navigate you data on the server using the webviewer using your browser at the URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
Here is a picture of the viewer:&lt;br /&gt;
[[File:2dwebviewer.png|300px]]&lt;br /&gt;
&lt;br /&gt;
With the commands on the bottom bar you can:&lt;br /&gt;
* change server&lt;br /&gt;
* set a slice (if using a 3D dataset)&lt;br /&gt;
* set a timestep&lt;br /&gt;
* set palettes and min-max range&lt;br /&gt;
* choose a field of the selected dataset&lt;br /&gt;
&lt;br /&gt;
== ViSUS Server for NetCDF data == &lt;br /&gt;
&lt;br /&gt;
An addition on-demand conversion service for NetCDF datasets is available in the &amp;quot;ondemand&amp;quot; Docker container.&lt;br /&gt;
&lt;br /&gt;
To try it, pull the ViSUS on-demand image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This container provides three services:&lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* conversion service (i.e., currently limited to NetCDF datasets)&lt;br /&gt;
* a simple Web viewer &lt;br /&gt;
&lt;br /&gt;
=== How to run the Containter ===&lt;br /&gt;
&lt;br /&gt;
You need to specify few simple settings:&lt;br /&gt;
* the port you want to use for the conversion service (internal 80)&lt;br /&gt;
* the port you want to use for the webviewer and data server (internal 42299) &lt;br /&gt;
* the folder containing the files to serve/convert (i.e., NetCDF files), this will be mapped to &amp;quot;/data/xml&amp;quot; in the container&lt;br /&gt;
* a folder to use for caching the multiresolution data for streaming, this will be mapped to &amp;quot;/data/idx&amp;quot; in the container&lt;br /&gt;
&lt;br /&gt;
Quick start with some demo data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# create directory for your input data&lt;br /&gt;
mkdir -p $PWD/nc&lt;br /&gt;
# create directory for your cache&lt;br /&gt;
mkdir -p $PWD/idx&lt;br /&gt;
&lt;br /&gt;
# download a sample NetCDF dataset&lt;br /&gt;
wget https://www.dropbox.com/s/jnhptd5vswaurem/test2d.nc -O ./nc/test2d.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the container:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it -p 80:80 -p 42299:42299 -v $PWD/nc:/data/xml -v $PWD/idx:/data/idx visus/ondemand&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this run command we mapped:&lt;br /&gt;
* port 80, used in the container for the data streaming and webviewer services&lt;br /&gt;
* port 42299, used in the container for the NetCDF data conversion service&lt;br /&gt;
&lt;br /&gt;
=== Visualize/convert your data on the server ===&lt;br /&gt;
&lt;br /&gt;
Go to the On-demand test page: [http://localhost/ondemand.php http://localhost/ondemand.php]. &lt;br /&gt;
&lt;br /&gt;
Note: replace &amp;quot;localhost&amp;quot; with your server name and port if you are running with custom settings.&lt;br /&gt;
&lt;br /&gt;
In this page you will find the list of *.nc contained in the folder you provided. You can click on the corresponding &amp;quot;View&amp;quot; button to visualize your data. Note: if the dataset has not been already converted the request could take a few second since it will be converting on-demand.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=414</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=414"/>
		<updated>2019-01-18T23:53:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Explore Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
You can change those and other settings from the ''local.php'' file, that you can mount when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|500px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=413</id>
		<title>ViSUS Data Portal</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=ViSUS_Data_Portal&amp;diff=413"/>
		<updated>2019-01-18T23:53:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ViSUS Data Portal allows to easily configure your data on the server, convert data to a data-streaming friendly format and visualize them directly from your browser. &lt;br /&gt;
The ViSUS Data Portal is deployed as a Docker container. Here is how to get started.&lt;br /&gt;
&lt;br /&gt;
== Quick start ==&lt;br /&gt;
&lt;br /&gt;
Start your Docker and login into your account. &lt;br /&gt;
If you don't have installed follow these instructions: [https://docs.docker.com Docker Documentation]&lt;br /&gt;
&lt;br /&gt;
Now pull the ViSUS image:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker pull visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This image contains: &lt;br /&gt;
* the ViSUS Server&lt;br /&gt;
* configuration files (see [[ViSUS configuration file]])&lt;br /&gt;
* a simple 2D/3D web viewer &lt;br /&gt;
* some tools to convert data (see [[ViSUS Convert]]).&lt;br /&gt;
&lt;br /&gt;
The goal of the data portal is to allow to use all of the above tools from a web interface, so all you have to do is just run the container with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 docker run -it --rm -p 8080:80 visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and point your browser to that same port (8080) on your host, as following:&lt;br /&gt;
URL: http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
[[File:Home.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
From the main navigation bar you can reach three different areas that will be presented in the next sections.&lt;br /&gt;
&lt;br /&gt;
You can change those and other settings from the ''local.php'' file, that you can mount when you run your docker as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm -p 8080:80 -v my_local.php:/home/visus/dataportal/local.php visus/dataportal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': the default credentials are: username=''admin'', password=''password''.&lt;br /&gt;
&lt;br /&gt;
[[File:Login.png|center|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Configure Server ===&lt;br /&gt;
From here you can visualize and edit the list of the datasets that you are serving through this server. Those can be both remote datasets (i.e., with a web URL as in the case of the default dataset BlueMarble) or local (i.e., pointing to an actual file hosted on the server).&lt;br /&gt;
&lt;br /&gt;
The name of the dataset is colored in red or green to show you if that dataset is ready for streaming or not. &lt;br /&gt;
To update the server you can click the &amp;quot;Update Server&amp;quot; button to trigger a reload of the datasets (metadata) on the server.&lt;br /&gt;
&lt;br /&gt;
[[File:Configure.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Manage Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can explore the data hosted on the server using the &amp;quot;File Manager&amp;quot; and execute conversions.&lt;br /&gt;
Currently the data portal provides interface to convert single or stack of image (or raw) data. &lt;br /&gt;
&lt;br /&gt;
[[File:File_manager.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversion process will look into the selected folder for images in order to estimate the size and datatype and automatically fill up the conversion parameters for you. The user can eventually customize those and run the conversion with the &amp;quot;Convert&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Convert.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
When a conversion process is launched a new entry in the conversion history will show up. This history allows the user to monitor the conversion processes taking place on the server and visualize the corresponding logs.&lt;br /&gt;
From this list is possible to add the converted (or still converting) dataset to the server using the &amp;quot;Add to server&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
[[File:Chistory.png|center|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Explore Data ===&lt;br /&gt;
&lt;br /&gt;
From here you can visualize the data using the [[ViSUS_WebViewer | Web Viewer]].&lt;br /&gt;
&lt;br /&gt;
[[File:Hearth.png|center|600px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.visus.org/index.php?title=File:Hearth.png&amp;diff=412</id>
		<title>File:Hearth.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.visus.org/index.php?title=File:Hearth.png&amp;diff=412"/>
		<updated>2019-01-18T23:52:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>