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

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

Bioconductor/DelayedArray 的其他 Issue

查看 Bioconductor/DelayedArray 的全部 Issue

相似的 Issue

更多 R Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。