ImFusion Web SDK

useFrameSelection

ts
function useFrameSelection(sis: SharedImageSet): {
  focus: number;
  setFocus: (index: number) => void;
  count: number;
};

Returns the reactive selection for a dataset.

Subscribes to SharedImageSet.onSelectionChanged.

Parameters

ParameterTypeDescription
sisSharedImageSetThe dataset to observe

Returns

ts
{
  focus: number;
  setFocus: (index: number) => void;
  count: number;
}

The current focus index, a setter, and the total frame count

NameType
focusnumber
setFocus()(index: number) => void
countnumber

Throws

If called outside of an ImFusionProvider

Throws

If called before the SDK has finished initializing

Example

tsx
function FrameSlider({ sis }: { sis: SharedImageSet }) {
  const { focus, setFocus, count } = useFrameSelection(sis);
  return (
    <input type="range" min={0} max={count - 1} value={focus} onChange={(e) => setFocus(Number(e.target.value))} />
  );
}