User Tools

Site Tools


nonapi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
nonapi [2022/03/25 11:59]
127.0.0.1 external edit
nonapi [2022/07/28 13:00] (current)
yves [Macro]
Line 1: Line 1:
-===== Root directories ​=====+===== Image Endpoints ​=====
  
-In order for PMA.core to show contentyou need to set up root directoriesA root directory is starting location from which your various whole slide images will be hosted+The following endpoints are available in PMA.core to view Whole Slide Images and its associated labelsthumbnails and macro imagesThe following list contains the endpoint URL, brief description and the available parameters for each one.
  
-The reason for working ​with root directories offers several advantages: ​ +==== Tile ==== 
-  * You don't have to navigate through ​complicated directory structure before reaching ​the files that you want to work with +**/tile** Renders a square tile of a slide 
-  * You can map multiple root directories ​to organize slides according ​to different purposes or workflows.  +^Parameter ^Description^ 
-  * Swtich out different types of storage without ​the end-user knowing about it. When you move data from a conventional hard disk to cloud, you typically need to install a new piece of software (S3 browser, ​or an FTP explorer)With PMA.coreyou just re-direct ​the root-directory ​to point to the updated location and you're done; the end-user remains unaffected+|sessionID|The session id to authenticate ​with| 
 +|pathOrUid|The path or unique identifier of the image to render or valid collection config JSON| 
 +|timeframe|The index of the time frame to render| 
 +|layer|The index of the layer to render| 
 +|channels|Comma separated channel indexes ​to render| 
 +|channelClipping|Min and max limits to clip and scale pixel valuesTwo values required per channel| 
 +|gamma|Gamma values for each channel. One value required per channel| 
 +|x|The x index of the tile| 
 +|y|The y index of the tile| 
 +|z|The z index of the tile| 
 +|cache|//​Optional//​ parameter that tells the renderer whether ​or not to use the cache to fetch the tile| 
 +|format|//​Optional//​ resulting image formatValid values are JPGJPEG and PNG| 
 +|quality|//​Optional//​ quality parameter used only for the jpeg format| 
 +|postGamma|//​Optional//​ gamma value to apply as post processing| 
 +|brightness|//​Optional//​ brightness value to apply as post processing| 
 +|contrast|//​Optional//​ contrast value to apply as post processing| 
 +**Returns** A file stream that contains ​the rendered region
  
-{{ ::​rootdir_scenarios3.png?​nolink&​400 ​|}}+==== Region ==== 
 +**/region** Renders a region of a slide 
 +^Parameter ^Description^ 
 +|sessionID|The session id to authenticate with| 
 +|pathOrUid|The path or unique identifier of the image to render| 
 +|timeframe|The index of the time frame to render| 
 +|layer|The index of the layer to render| 
 +|channels|Comma separated channel indexes to render| 
 +|x|The x coordinate of the image to render| 
 +|y|The y coordinate of the image to render| 
 +|width|The width of the region to render| 
 +|height|The height of the region to render| 
 +|scale|The factor to scale the rendered region by| 
 +|channelClipping|Min and max limits to clip and scale pixel valuesTwo values required per channel.| 
 +|gamma|Gamma values for each channel. One value required per channel | 
 +|drawScaleBar|Draw an accurate scale bar| 
 +|downloadInsteadOfDisplay|Whether or not to download the image or display it in the browser| 
 +|drawFilename|0 do not draw, 1 draw filename on top, 2 draw on bottom| 
 +|format|//​Optional//​ parameter representing the resulting image format. Valid values are JPG, JPEG and PNG| 
 +|quality|//​Optional//​ quality parameter used only for the jpeg format| 
 +|annotationsLayerType|A comma separated list of extra annotations layer to render| 
 +|rotation|Rotation angle in degrees| 
 +|flipHorizontal|Whether to flip region horizontally| 
 +|flipVertical|Whether to flip the region vertically| 
 +|dpi|//​Optional//​ dpi to resolution for the exported image| 
 +|postGamma|//​Optional//​ gamma value to apply as post processing| 
 +|brightness|//​Optional//​ brightness value to apply as post processing| 
 +|contrast|//​Optional//​ contrast value to apply as post processing| 
 +**Returns** A file stream that contains the rendered region
  
-The concept ​of root directories is not dissimilar ​to mapped network drives in the Microsoft Windows operating system, where you map a map such as \\myserver\dir\subdir\subsubdir\ ​to (much simpler to remember and addressdrive letter.+==== Thumbnail ==== 
 +**/​thumbnail** Renders the associated thumbnail ​of slide 
 +^Parameter ^Description^ 
 +|sessionID|The session id to authenticate with| 
 +|pathOrUid|The path or unique identifier of the image to render| 
 +|orientation|The orientation of the thumbnail ​(0 = auto; 1 = vertical; 2 = horizontal)
 +|w|Expected output width of the thumbnail| 
 +|h|Expected output height of the thumbnail| 
 +**Returns** An image
  
-==== Mounting points ​====+==== Macro ==== 
 +**/macro** Renders the associated macro of a slide
  
-Since PMA.core 2, a root directory is defined by one or more mounting point. This was done to be able to facilitate [[rootdir_geo_replication|geo-replication scenarios]].+^Parameter ^Description^ 
 +|sessionID|The session id to authenticate with| 
 +|pathOrUid|The path or unique identifier of the image to render| 
 +|orientation|The orientation of the macro (0 = auto; 1 = vertical; 2 = horizontal)| 
 +|w|Expected output width of the macro| 
 +|h|Expected output height of the macro| 
 +**Returns** An image
  
-A mouning point for a root directory may either be a local directory, a UNC share, Azure blob storage, FTP folder, or an Amazon S3 compatible storage. +==== Barcode ​==== 
- +**/barcode** Renders ​the associated barcode of a slide 
-{{ ::​rootdir_scenarios2.png?​nolink&​400 |}} +^Parameter ^Description^ 
- +|sessionID|The session id to authenticate with| 
-A Mounting point is a further abstraction of the concept "where are my slides stored?"​. While most users will end up having one mounting point per any one root directory, here are the different scenarios in which you could have multiple mounting points: +|pathOrUid|The path or unique identifier of the image to render
- +|orientation|The orientation of the barcode ​(auto; 1 vertical; 2 horizontal)
-  * [[rootdir_geo_replication|Geo replication]] +|w|Expected output width of the barcode
-  * Automatic failover between different storage types. If a network resource is not available, a fallback could be offered to an alternative location (possibly with a reduced or older dataset) +|h|Expected output height of the barcode
- +**Returns** An image
-{{ ::​rootdir_scenarios1.png?​nolink&​400 |}} +
- +
-In order to make root directories work, you need to attach at least one mounting point to it. +
- +
-The mounting point of a root directory refers to the base directories where the system should look into for whole slide images. All the subdirectories of the root directories are exposed by the application and whole slide images that are discovered are advertised.  +
- +
-{{ :​work.png?​nolink&​400 |}} +
- +
-==== Configuration ​==== +
- +
-**Root directories management** +
- +
-Root directories can be managed by selecting ​the "Root directories"​ option under the "​Settings"​ section in the left menu. +
- +
-{{ :​roots.png?​nolink&​400 ​|}} +
- +
-The list displays all the configured root directories and provides options ​to add new, edit and delete entries. +
- +
-  * The "​Offline"​ column indicates whether ​or not a root directory is enabled. An offline root directory is not advertised by the system and its contents are not available ​to the end-users. +
-  * The "Path exists"​ column indicates whether or not the system is able to mount a root directory'​s path and access it's contents. For example a root directory that points to a local file system folder, that has been deleted, will not have the "Path exists"​ column checked. +
- +
-We have a [[rootdir_config|separate section]] in this wiki that takes you through the different steps that you can take to [[rootdir_config|configure root directories and mounting points]]. ​ +
- +
-Root-directories can be labeled public or private, which allow you to [[rootdir_security#​public_vs_private|take security precautions when configuring these]].  +
- +
-==== Security ==== +
- +
-Root directories can be either [[rootdir_security#​public_vs_private|public or private]]. +
- +
-Who's accessed what (either public or private) folder can be monitored via the Access log tab. +
- +
-{{ ::​access_log.png?​nolink&​400 |}} +
- +
-==== Logging ==== +
- +
-Apart from manipulating root directories,​ monitoring their use is an important aspect of our software as well. +
- +
-You can monitor logs for several kinds of acivity: +
- +
-{{ :​rootdir_logs.png?​direct&​400 ​|}} +
- +
-=== Audit trail === +
- +
-The audit trail tab conbines any operations that were performed on both root directory entries and underlaying mounting point entries. +
- +
-{{ :​rootdir_audit.png?​direct&​400 ​|}} +
- +
-The presented information [[21_cfr_part_11|21 CFR pârt 11 compliant]]. +
- +
-=== Activity log === +
- +
-In addition to an audit trail, an activity log is available that chronologically tell you which user has been accessing what slides in the root directory:​ +
- +
-{{ :​rootdir_activity.png?​direct&​400 ​|}} +
- +
-==== Integrity check ==== +
- +
-When problems persist over time, a structured and proactive approach is warranted. +
- +
-When you suspect certain slides in a particular root directory are corrupt, you can run an integrity check on a particular folder: +
- +
-{{ :​rootdir_integrity.png?​direct&​400 ​|}} +
- +
-This attempts to read all slides in a folder and reports on the ones that fail. You should then [[format_troubleshoot|try to find out why such slides cannot be read]]. +
- +
-For problems that only occur occasionally and don't appear to be persistent, [[elmah|Elmah logs]] are available to assist in for ad-hoc troubleshooting.+
nonapi.1648198788.txt.gz · Last modified: 2022/03/25 11:59 by 127.0.0.1