def METHOD_NAME(method, ctx, raw_ds):
    filename = raw_ds._path
    shape = tuple(raw_ds.shape)
    dtype = raw_ds.dtype
    if method == 'from_array':
        arr = da.from_array(np.memmap(filename, shape=shape, dtype=dtype, mode='r'))
        ds = ctx.load('dask', arr, sig_dims=2)
    elif method == 'native':
        ds = raw_ds
    elif method == 'delayed':
        arr = _mk_dask_from_delayed(
            shape=shape,
            dtype=dtype,
            chunking=(4, -1, 64, -1),
            filename=filename
        )
        ds = ctx.load('dask', arr, sig_dims=2)
    elif method == 'make_dask_array':
        arr, _ = make_dask_array(raw_ds, dtype=raw_ds.dtype)
        ds = ctx.load('dask', arr, sig_dims=2)
    else:
        raise ValueError(f"Unknown method {method}")
    return ds