Skip to content

utils/visualizationRegistry#

getHandlerForTrace()#

function getHandlerForTrace(trace): VisualizationHandler | null;

Auto-detect handler based on trace content. Falls back to built-in handlers if no visualizationHandler specified.

Parameters#

Parameter Type
trace Trace

Returns#

VisualizationHandler | null


visualizationRegistry#

const visualizationRegistry: VisualizationHandlerRegistry;

MultiSubplotVisualization#

Multi-subplot visualization for complex displays. Example: T1-T2 map + projection plots + fit parameters

Properties#

grid#

grid: [number, number];

Subplot grid layout [rows, cols]

subplots#

subplots: {
  position: [number, number];
  span?: [number, number];
  spec: VisualizationSpec;
  title?: string;
}[];

Individual subplot specifications

position#
position: [number, number];

Subplot position [row, col] (1-indexed)

span?#
optional span?: [number, number];

Subplot span [rowspan, colspan]

spec#
spec: VisualizationSpec;

Visualization spec for this subplot

title?#
optional title?: string;

Title for this subplot

type#

type: "multi-subplot";

VisualizationHandlerMetadata#

Metadata describing a visualization handler.

Properties#

appliesTo#

appliesTo: (trace) => boolean;

Predicate to test if this handler applies to a trace

Parameters#
Parameter Type
trace Trace
Returns#

boolean

description?#

optional description?: string;

Optional description

displayName#

displayName: string;

Display name (e.g., "2D Contour with Projections")


VisualizationSpec#

Visualization specification returned by handlers. Can represent single plot or multi-subplot layout.

Properties#

_f1DataReversed?#

optional _f1DataReversed?: boolean;

Flag indicating if F1 data/coordinates need flipping for D3FC display (2D spectra only)

annotations?#

optional annotations?: PlotData[];

Annotations (plotted separately from data)

data#

data: any[];

Plot data traces

layout?#

optional layout?: any;

Optional layout customization

referenceFrequencyHzX?#

optional referenceFrequencyHzX?: number;

Reference frequency in Hz for X-axis PPM conversion (from axis.referenceFrequencyHz)

referenceFrequencyHzY?#

optional referenceFrequencyHzY?: number;

Reference frequency in Hz for Y-axis PPM conversion (from axis.referenceFrequencyHz)

sourceFrequencyUnit?#

optional sourceFrequencyUnit?: FrequencyUnit;

Source frequency unit for x-axis (if frequency data)

sourceFrequencyUnitY?#

optional sourceFrequencyUnitY?: FrequencyUnit;

Source frequency unit for y-axis (if 2D frequency data)

xLabel?#

optional xLabel?: string;

X-axis label

yLabel?#

optional yLabel?: string;

Y-axis label


VisualizationHandler#

type VisualizationHandler = (trace) => 
  | VisualizationSpec
  | MultiSubplotVisualization
  | null;

Handler function that converts a Trace to visualization specification.

Parameters#

Parameter Type
trace Trace

Returns#

| VisualizationSpec | MultiSubplotVisualization | null