// React
import { useContext } from 'react';
// Context
import { AppContext } from '../App';
// App
import isUserAuth from '../../utils/Auth/isUserAuth';
// Cloudscape
import { Box, ExpandableSection, HelpPanel, Icon, Link } from '@cloudscape-design/components';
// Router
import { useLocation } from 'react-router-dom';
export default function ToolsContent() {
const { user } = useContext(AppContext);
const location = useLocation();
const defaultHeader = (
{l.name}
))}Welcome to the sample app!
Explore using the navigation menu on the left side of the page. This pane provides contextually-aware information on each app component.
Select the right arrow
A data store provides logical separation of imaging data. This enables multi-tenant use cases.
Datastores are assigned Amazon Resource Names (ARNs) and can be tagged with keys and values. This enables fine-grained access controls across organizations using role-based access control (RBAC) and/or attribute-based access control (ABAC). Tags can also be used for cost allocation.
Tags are words or phrases that you can use to identify and organize your AWS resources. You can add multiple tags to each resource, and each tag includes a key and a value that you define. For example, the key might be "domain" and the value might be "example.com". You can search and filter your resources based on the tags you add.
The AWS HealthImaging service provides native search functionality. You can search in a datastore by the following parameters:
Only one parameter can be specified at a time.
Alternatively, you can use an event-drive architecture to search based off of ImageSet metadata JSON.
AWS HealthImaging provides an optimized JSON representation of an ImageSet's metadata.
This includes patient, study, series and instance-level data.
AWS HealthImaging stores and provides image frames in lossless High Throughput JPEG 2000 (HTJ2K) format. HTJ2K is a simple extension to the existing JPEG2000 standard that replaces block coder resulting in an order of magnitude speedup.
This component uses{' '} openjphjs {' '} to decode the HTJ2K image frames and{' '} cornerstone.js {' '} to display the images.
Default: Using webworkers, request each image frame. After each frame is retrieved, decode and display the image frame.
Progressive: Using webworkers, request each image frame and read it chunk by chunk. After each chunk is read, append it to the previous chunks for a partial object. The partial objects are decoded and displayed until the entire image frame is read.
Tile Level Markers: Using webworkers, request each image frame start withing Tile Level Marker (TLM) level 0. This initial small object represents a discrete resolution representation of the image frame, and is useful for specific workloads, such as thumbnails. This object is decoded and displayed. Subsequent TLM levels are requested, appended to the initial object, then decoded and displayed. This method requires a TLM proxy. Configure using the settings icon by the Reset button.
This proxy can be deployed from the tile-level-marker-proxy project in the code repository. Provide the full public URL in the settings and the authorization mode to enable TLM loading.
Image Frame Endpoint OverrideThis endpoint will override where the viewer retrieves image frames. One such example is using a content deliver network, Amazon CloduFront, using the amazon-cloudfront-image-frame-delivery project in the code repository. Provide the full public URL in the settings and the authorization mode to use this feature.