|
@@ -0,0 +1,87 @@
|
|
|
+
|
|
|
+ * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
|
+ *
|
|
|
+ * @author David Sehnal <david.sehnal@gmail.com>
|
|
|
+ */
|
|
|
+
|
|
|
+import { PluginStateObject } from '../../../state/objects';
|
|
|
+
|
|
|
+export class VolumeServerInfo extends PluginStateObject.Create<VolumeServerInfo.Data>({ name: 'Volume Streaming', typeClass: 'Object' }) { }
|
|
|
+
|
|
|
+export namespace VolumeServerInfo {
|
|
|
+ export interface Data {
|
|
|
+ serverUrl: string,
|
|
|
+ kind: 'x-ray' | 'em',
|
|
|
+
|
|
|
+ dataId: string,
|
|
|
+ header: VolumeServerHeader
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export interface VolumeServerHeader {
|
|
|
+
|
|
|
+ formatVersion: string,
|
|
|
+
|
|
|
+
|
|
|
+ axisOrder: number[],
|
|
|
+
|
|
|
+
|
|
|
+ origin: number[],
|
|
|
+
|
|
|
+
|
|
|
+ dimensions: number[],
|
|
|
+
|
|
|
+ spacegroup: VolumeServerHeader.Spacegroup,
|
|
|
+ channels: string[],
|
|
|
+
|
|
|
+
|
|
|
+ valueType: VolumeServerHeader.ValueType,
|
|
|
+
|
|
|
+
|
|
|
+ blockSize: number,
|
|
|
+ sampling: VolumeServerHeader.Sampling[],
|
|
|
+
|
|
|
+
|
|
|
+ availablePrecisions: VolumeServerHeader.DetailLevel[],
|
|
|
+
|
|
|
+ isAvailable: boolean
|
|
|
+}
|
|
|
+
|
|
|
+export namespace VolumeServerHeader {
|
|
|
+ export type ValueType = 'float32' | 'int8'
|
|
|
+
|
|
|
+ export namespace ValueType {
|
|
|
+ export const Float32: ValueType = 'float32';
|
|
|
+ export const Int8: ValueType = 'int8';
|
|
|
+ }
|
|
|
+
|
|
|
+ export type ValueArray = Float32Array | Int8Array
|
|
|
+
|
|
|
+ export type DetailLevel = { precision: number, maxVoxels: number }
|
|
|
+
|
|
|
+ export interface Spacegroup {
|
|
|
+ number: number,
|
|
|
+ size: number[],
|
|
|
+ angles: number[],
|
|
|
+
|
|
|
+ isPeriodic: boolean,
|
|
|
+ }
|
|
|
+
|
|
|
+ export interface ValuesInfo {
|
|
|
+ mean: number,
|
|
|
+ sigma: number,
|
|
|
+ min: number,
|
|
|
+ max: number
|
|
|
+ }
|
|
|
+
|
|
|
+ export interface Sampling {
|
|
|
+ byteOffset: number,
|
|
|
+
|
|
|
+
|
|
|
+ rate: number,
|
|
|
+ valuesInfo: ValuesInfo[],
|
|
|
+
|
|
|
+
|
|
|
+ sampleCount: number[]
|
|
|
+ }
|
|
|
+}
|