Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Custom delayed operations

未关闭
#127 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
冷清
技术栈
r
领域
data

调研方向

先阅读 showtree 和 .rec_showtree 方法,然后跟踪 getArrayElement 如何处理 DelayedOp 子类。使用 DelayedAffineSeed 和 DelayedTranslateSeed 重现该示例,包括对临时 Zarr 数组执行子集操作。完成的标准是:包含 DelayedOp 的外部类能够参与所请求的延迟操作检查或访问流程,且不会出现报告中的缺少方法错误。

由索引模型根据 Issue 内容生成。

描述

Dear @hpages,

I am working on devising lazy image transformations for https://github.com/HelenaLC/SpatialData/issues/162.

I was wondering if it is possible to use showtree or .rec_showtree methods (or similar methods) for external classes that facilitate delayed operations.

I have tried below, but it requires me to define additional methods for these classes that contain DelayedOp:

setClass(
  "DelayedAffineSeed",
  contains = "DelayedOp",
  slots = c(
    seed = "ANY",
    dim = "integer",
    dimnames = "list",
    m = "matrix",
    axes = "character",
    filter = "character",
    bg.col = "character",
    antialias = "logical",
    trace = "logical"
  )
)

setClass(
  "DelayedTranslateSeed",
  contains = "DelayedOp",
  slots = c(
    seed = "ANY",
    dim = "integer",
    dimnames = "list",
    shift = "numeric",
    axes = "character"
  )
)
# save as zarr
td <- tempfile(fileext = ".zarr")
delayed_img <- writeZarrArray(x = EBImage::imageData(img), zarr_path = td) 

# affine
rotated_delayed_img <- lazy_affine(delayed_img, m = m, filter = "bilinear")

# translate
translate_delayed_img <- lazy_translate(rotated_delayed_img, shift = c(100,200))

# subset
subset_delayed_img <- translate_delayed_img[100:200, 100:200]
> subset_delayed_img@seed
101x101 double: Subset
└─ 1024x512 double: DelayedTranslateSeed object
Error: unable to find an inherited method for function ‘getArrayElement’ for signature ‘x = "DelayedTranslateSeed"’
主要语言
R
星标
29
派生
12
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Bioconductor/DelayedArray 的其他 Issue

查看 Bioconductor/DelayedArray 的全部 Issue

相似的 Issue

更多 R Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。