跳到内容
新发行

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

提交:colocr #243

关闭
19项任务中的11项
马哈沙班已打开此问题2018年8月6日·88条评论
关闭
19项任务中的11项

提交:colocr #243

马哈沙班已打开此问题2018年8月6日·88条评论

评论

@马哈沙班
复制链接

总结

  • 这个包裹是做什么的?(用50个字或更少的字解释):
    对荧光显微镜图像进行共定标分析

  • 将完整的DESCRIPTION文件粘贴到下面的代码块中:

包装:colocr类型:包装标题:对荧光显微镜图像进行共聚焦分析版本:0.1.0许可证:GPL-3作者@R:人(“马哈茂德”,“艾哈迈德”,电子邮件=“mahmoud.s.fahmy@students.kasralainy.edu.eg",角色=c(“aut”,“cre”)网址:https://github.com/MahShaaban/colocr错误报告:https://github.com/MahShaaban/colocr/issues网站描述:自动化荧光显微镜的共同定位分析图像。选择感兴趣的区域,从中提取像素强度图像通道并计算不同的协同定位统计。编码:UTF-8LazyData:真建议:测试,考弗,尼特尔,rmarkdown,开发工具Roxygen注:6.0.1导入:成像仪,闪亮的,规模VignetteBuilder:编织
  • 包的URL(开发存储库,而不是样式化的html页面):
    https://github.com/MahShaaban/colocr

  • 请指出我们的哪些类别套餐适合政策这个包裹属于*以及为什么(?(例如,数据检索、再现性。如果您不确定,我们建议您进行提交前调查。):

[例如,“数据提取,因为包解析科学数据文件格式”]
数据提取

  • 谁是目标受众,这个软件包的科学应用是什么? 
    生物学家(无需高级R)

  • 是否有其他R包可以完成同样的任务?如果是,如何
    你的意见不同或一致我们的最佳类别标准?
    这个EB图像成像仪软件包包含处理图像的算法。此软件包使用成像仪但只关注进行多通道图像联合定位所需的功能。此外,该软件包提供了一个闪亮的应用程序,可以有意识地执行相同的分析。

  • 如果您进行了提交前查询,请将链接粘贴到相应的问题、论坛帖子或其他讨论,或@标签你联系过的编辑。
    提交前,提交前调查:colocr241号

要求

选中该框,确认以下各项。此套餐:

  • 不违反与之交互的任何服务的服务条款。
  • 拥有CRAN和OSI认可的许可证。
  • 包含一个自述文件,其中包含安装开发版本的说明。
  • 包括文档和所有函数的示例。
  • 包含一个小插曲及其基本功能和用途的示例。
  • 有一个测试套件。
  • 使用Travis CI、Coveralls和/或CodeCov等服务进行持续集成,包括测试覆盖率报告。
  • 我同意遵守ROpenSci的行为准则在审查过程中,以及在维护我的包时,它应该被接受。

出版物选项

  • 你打算把这个包裹放在CRAN上吗?
  • 是否要自动提交到开源软件杂志? 如果是这样:
    • 该包具有明显的研究应用根据JOSS的定义.
    • 该包包含纸张.md匹配JOSS要求在包根目录或中包含高级描述安装/.
    • 该包存放在DOI的长期存储库中:
    • (不要单独向JOSS提交包裹)
  • 你想提交一篇关于你的包裹的申请文章吗生态学和进化方法? 如果是这样:
    • 该套餐新颖,将引起该杂志广大读者的兴趣。
    • 描述包裹的手稿不超过3000字。
    • 您打算将包的代码归档到满足日志要求的长期存储库中(请参见MEE关于发布代码的政策)
    • (范围:考虑MEE目标和范围你的手稿。我们不保证你的手稿会在MEE的范围内。)
    • (虽然不是必需的,但我们强烈建议您在这里提交时准备一份完整的手稿。)
    • (请不要将您的包裹单独提交给生态与进化方法)

详细信息

  • R CMD检查(或开发工具::check())成功吗?粘贴并描述任何错误或警告:

  • 包装是否符合rOpenSci打包指南? 请描述任何例外情况:

  • 如果这是拒绝后的重新提交,请解释情况的变化:

  • 如果可能,请提供审阅者的建议(具有类似软件包经验的人和/或您的软件包的可能用户)及其GitHub用户名:

@梅勒
复制链接
成员

谢谢@马哈沙班! 😀

在我开始定期检查之前,因为软件包中有一个Shiny应用程序,你能看一下我们针对Shiny应用的全新具体指导,尤其是测试吗?

https://ropensci.github.io/dev_guide/building.html交互式-接口

https://ropensci.github.io/dev_guide/building.html测试

你可以在这里/在discuss.ropensci.org/Slack上问任何问题(你收到我们Slack的邀请了吗?)

@马哈沙班
复制链接
作者

嘿,@梅勒

我看了一下链接。

  • 我已经在使用闪光测试仪在应用程序中
  • 代码自动生成听起来是个不错的主意,你推荐什么资源来开始这方面的工作吗?目前,应用程序可以选择返回R会话中的最终输出并/或将其保存到文件中。我将添加所有中间值。

我想我没有收到任何松懈的邀请。

@梅勒
复制链接
成员

👋@马哈沙班

我已经在应用程序中使用shinytest

啊,对不起!但我看不出测试中的什么地方?特别是,“shinytest”在描述中的书写方式不像“testtat”?

代码自动生成听起来是个不错的主意,你推荐什么资源来开始这方面的工作吗?
不,我会研究并更新这个帖子(和指南,好主意!)

我现在已经给你发了一封邀请信。

@马哈沙班
复制链接
作者

谢谢你的邀请,@梅勒

关于闪亮的测试。测试位于应用程序目录中,inst/colocr应用程序/测试/原因是我想在Travis上单独测试应用程序。如果需要,我将移动测试以与包测试一起运行。

@梅勒
复制链接
成员

老实说,我对软件包中的shiny应用程序的测试非常陌生,一旦你的软件包上线,它可能就是一个从gitbook链接的示例。😸 为什么要单独测试应用程序?它到底是什么意思?我觉得你的Travis配置文件正常🤔

@马哈沙班
复制链接
作者

我也是新手闪光测试仪.

我想单独测试这个应用程序,因为我打算让它独立运行,我在shinyapps.io上有一个原型,在这里.

我将该应用程序作为github上的一个单独回购,在这里。此回购作为子模块添加到套餐回购中。应用程序回购包含单独的.travis.yml文件测试/通过这种方式,我可以将应用程序链接为Travis上的常规repo,并在每次提交时运行测试。

@梅勒
复制链接
成员

啊,有趣!你能在论坛上问一下什么是最佳实践吗?我仍然想知道的一件事是,你的包的自述是否应该包括应用程序构建状态的徽章。

我会尽快做其他的检查。

@马哈沙班
复制链接
作者

好吧。会的。
我想我可以加上travis的构建状态徽章,如果这是你的意思。

谢谢

@梅勒
复制链接
成员

你想在你的包接受审查之前研究代码生成吗?我在提交中标记了你,查看生成代码的应用程序的链接在这里.

@梅勒
复制链接
成员

良好实践输出

使用 '<-' 对于 分配 相反 属于 '='. '<-' 
    这个 标准, R(右) 用户  开发人员  习惯于   
     更容易的  阅读 你的 代码 对于 他们 如果  使用 '<-'.

    R(右)\方法。R(右):367:12
    R(右)\方法。R(右):368:12
    R(右)\方法。R(右):369:5避免 长的 代码 线,  坏的 对于 可读性。
    阿尔索,许多的  更喜欢 编辑 窗户 那个  关于 80
    字符 宽度。 尝试 制作 你的 线 较短  80
    字符

    安装\外部数据\手动分析。R(右):6:1
    R(右)\方法。R(右):378:1
    R(右)\方法。R(右):379:1
    R(右)\方法。R(右):380:1
    R(右)\方法。R(右):381:1

开发工具::spell_check

单词          已找到 
计算的     色谱测试。道路:23
决定      roi_select(感兴趣区域_选择)。道路:42
迪飞龙      roi_show(滚动显示)。道路:19
荧光   描述:1
猥亵      intensity_get(强度_获取)。道路:15
指示      roi_show(滚动显示)。道路:16
曼德斯       色谱测试。道路:12
皮尔逊      色谱测试。道路:12
再溶解     roi_show(滚动显示)。道路:24
论文          roi_select(感兴趣区域_选择)。道路:36

@马哈沙班
复制链接
作者

我做了以下更改

  • 我将一个表添加到表视图在包括输入参数的应用程序中,并且可以用于从应用程序再现相同的输出。我将继续研究代码生成以供将来改进。
  • 修复了由提出的问题良好实践
  • 修复了中的拼写错误开发工具::spell_check
  • 将应用程序Travis和shinyapp.io徽章添加到自述.md

@梅勒
复制链接
成员

酷,我现在去找评论员。

请将此徽章添加到包裹的自述文件中:

[![](https://badges.ropensci.org/243_status.svg网址)](https://github.com/ropensci/onboarding/issues/243)

@梅勒
复制链接
成员

编辑检查:

  • 配合:程序包符合以下标准适合重叠
  • 自动化测试:包有一个测试套件,通过Travis-CI或其他CI服务进行测试。
  • 许可证:该软件包具有CRAN或OSI认可的许可证
  • 存储库:存储库链接正确解析
  • 档案文件(仅JOSS,可能是事后审查):存储库DOI正确解析
  • 版本(仅限JOSS,可能是后期审查):给出的发布版本是否与GitHub版本(v1.0.0)匹配?

编辑评论

已解决😉


审核人:@haozhu233号 @西安
到期日:2018-09-03

@梅勒
复制链接
成员

谢谢@haozhu233号@西安感谢您接受审阅此包!您的评论将于2018年9月3日到期。

以下是指向的链接我们的评审指南审阅模板(由于你们都是经验丰富的rOpenSci审核员/作者,欢迎对指南发表评论,例如Slack,但不觉得有义务同时审核软件包和审核员指南😉).

@西安
复制链接
贡献者

程序包审查

请勾选适用的复选框,并在下面的评论中详细说明。如评审指南所述,您的评审不限于这些主题

  • 作为审阅者,我确认我审阅这部作品时没有利益冲突(如果您不确定是否存在冲突,请与您的编辑联系之前开始复习)。

文档

该文件包包括以下所有形式的文件:

  • 需求声明在自述文件中明确说明软件旨在解决的问题及其目标受众
  • 安装说明:用于包的开发版本和README中的任何非标准依赖项
  • 渐晕演示在本地成功运行的主要功能
  • 功能文档:对于R帮助中的所有导出函数
  • 示例对于R帮助中在本地成功运行的所有导出函数
  • 社区指导方针包括自述或贡献中的贡献指南,以及描述统一资源定位地址,错误报告维护人员(可通过以下方式自动生成作者@R).

功能

  • 安装:如文件所述,安装成功。
  • 功能:已确认软件的任何功能声明。
  • 性能:该软件的任何性能声明都已得到证实。
  • 自动化测试:单元测试涵盖软件包的基本功能
    以及合理的投入和条件范围。所有测试都在本地计算机上通过。
  • 包装指南:包符合rOpenSci打包指南

最终批准(事后审查)

  • 作者对我的评论做出了回应,并做出了令我满意的修改。我建议批准此套餐。

估计花在审查上的时间:


评审意见

我在两台计算机上进行了测试:运行R 3.5.1的Windows 10和运行R 3.4.4的Ubuntu 16.04。

科尔克为一种显微镜分析提供了基于R的工作流。具体来说,图像是用两种不同的颜色拍摄的,通常每种颜色代表不同的感兴趣分子。使用科尔克,用户可以测量这两种颜色在图像不同部分的强度上的相关性。步骤是:选择(并验证)图像中的感兴趣区域,获取(并查看)每个通道中每个像素的强度,并计算两个相关性度量以评估两个通道的共同定位。

共定域分析方法并不新鲜;目的科尔克是为了更容易在R中执行(同时提供GUI选项),以获得更具重现性的结果。这个包对于这个特定的任务来说非常简单并且易于使用,而不像其他更复杂的包那样成像仪.

下面我根据上面列出的复选框部分写了一些评论。我发现的最重要问题概述:

  • 我很难构建软件包和文档,但当通过安装时安装github,大多数情况都很好。在本地构建时,许多自动检查都会发出警告或错误。(这一点是我没有勾选上述方框的主要原因。)

  • 小插曲缺乏一些细节和背景。

  • 该软件包可以利用一次处理多个图像的功能。

以下列出了更多次要问题。(注意,我已经指出了使用这种格式的拼写错误:“the type”->“the correction”。)

这个包做得很好,我的大多数评论都相对较小。干得好!

文档

需求声明

很好的概述!

“亏损”->“亏损”
“直接了当”->“直截了当”

(请注意,这两个修正也应在小品中进行。)

安装

我不明白“没有子模块!”和“@发展“意思是在安装指南中。你能解释一下(在自述文件中)这意味着什么以及为什么吗?

我花了一段时间才把这个包安装到Ubuntu上。明确地,成像仪不会安装,因为它依赖于开罗蒂夫在我安装一些外部到R的依赖项之前不会安装。我想如果我遵循了安装说明在这里事情本来会进展顺利的。包含如何安装的链接对您很有帮助成像仪在github上的安装说明中的ubuntu上。

渐晕

未成功构建渐晕图

这个小插曲没有在Windows或Ubuntu计算机上成功构建。这也阻止了开发工具::check()阻止成功。具体来说,我会得到以下错误:

pandoc.exe:无法获取:openBinaryFile:不存在(没有此类文件或目录)错误:使用_colocr处理vignette。Rmd'诊断失败:pandoc文档转换失败,错误67执行已停止

我想出来了(通过rstudio/rmarkdown#228)如果将vignette的标题更改为包含以下行,则可以解决此问题:

输出:rmarkdown::html活动:自包含:否

这修复了Windows和Ubuntu计算机上的问题。

使用安装时,vignette安装得很好开发工具::install_github(..,build_vignettes=TRUE).

渐晕可及性

我建议在github自述文件中添加一个链接到该小插曲的HTML版本。现在,我必须在阅读小插曲之前安装软件包,这是我安装它的障碍,因为我看不太清楚它的功能。要么将小插曲编织到github降价文档并链接到该文档,要么在CRAN上链接到CRAN托管的小插曲的web版本。

幻影内容

适当性->适当性

已实现->已实现

分析重置->分析结果(?)

皮尔逊系数相关性->皮尔逊相关系数

共同分布->共同分布

直接->直接

仅三步->仅三步

功能性->功能性

营地->包围

恢复->分辨率

可论证->可论证

选择->选择

sampe->示例

尽管->这句话应该与下一句结合,否则“尽管”就没有意义了

理性->基本原理

单独->单独

彻底而正式->彻底而正式

相关性->相关性

请注意,vignette安装说明与README说明不同。

可能隐藏之后显示的启动消息库(成像仪)

在“入门”一节中,给出一些背景知识,说明图像是什么,什么是“合适的参数”,以及如何确定它们并评估它们的合适性。图像中的细胞是什么?它们被染色是为了什么?ROI的目标是什么?在示例设置中,中上部的五个单元格都显示在一个区域中,这是目标吗?我本想为每个细胞制作一个单独的区域。

你为什么使用成像仪::高亮()而不是roi_show()?

我在“入门”部分中要求的一些背景知识在“详细示例”部分中提供。我可以跳过“入门”部分,在“详细示例”部分中添加更多背景。

为什么“Manders重叠系数”缩写为“SCC”?为什么链接会转到一个关于斯皮尔曼等级相关系数的页面?

shinyapps.io上运行的闪亮应用程序的链接与软件包附带的应用程序相同吗?

“按顺序调用四个不同的函数”,但列出了五个

你在找什么强度_显示情节?

单个感兴趣区域的标记是否只标记了n个最大的相邻区域?这一点从小插曲中并不完全清楚。

在协同定位基准源中,了解所选特定图像的预期结果将很有帮助。科尔克达到预期结果?

功能文档

?roi选择(_S):最好能对参数进行更详细的解释roi选择(_S)而不是帮助页面提供的,或者至少提供一个链接。细节部分有一些有趣的内容填充\ codelian,看起来像第21行有一个斜线。

?roi_show(滚动显示):在详细信息部分,它显示“a a low resolution”

?colocr::colocr包和/或?colocr::colocr应该链接到包中的主要函数,否则它们不是很有用。

示例

示例(“intensity_get”)信息量不大。我建议打印出像素_ int并解释它们是什么。它还显示“call coloc_test”,这是一个错误

示例(“intensity_show”)在我的电脑上运行缓慢,你能对图像进行子采样吗?

社区指导方针

没有关于如何为该包做出贡献的指南。

功能

安装

从github进行的安装工作基本正常。我遇到了上述文档中描述的一些问题。

功能

vignette和文档中描述的功能已经存在,并且在大多数情况下都工作得很好!

运行应用程序(_app)加载时立即发出警告和错误(参数长度为0)。加载图像后它就可以工作了,但看到错误消息有点令人不安。

我考虑的一个问题是,如果你想关联两个以上通道的强度,该怎么办?

我考虑的另一个问题是,是否可以有一个更高级别的函数来应用阈值并同时获取一组图像的联合本地化统计信息。我想,在相对较少的情况下,用户会想对每个图像反复重复代码。也许是一个函数,它为每个参数取一个图像向量和向量roi选择(_S)然后返回结果列测试(_T)对于每个图像?您还可以为高亮显示和roi_show(滚动显示)强度_显示它可以用每个图像创建某种类型的报告。

我真的不明白roi选择(_S)适用于通道1和通道2。你能在什么地方解释一下吗,也许在小插曲中?也就是说,你能仅仅根据渠道1选择一个ROI并将其应用于渠道1和渠道2吗?

可能从导入和重新导出函数成像仪这是vignette所需要的(因此可能被用户使用),因此用户不必库(成像仪)

最好能为结果提供更多描述性名称列测试(_T)美元'美元.

建议的API

目前,基本的工作流程是:

像素<-roi_select(img,阈值=90)像素_ int<-强度_ get(img,px)列测试(像素_ int)

如果你能这样做,那就太好了:

img%>%roi_select(阈值=90)%>%intensity_get()%>%coloc_test()

我看到的好处是它是可管道的,并且您不必单独跟踪二甲苯像素_ int除了国际货币基金组织。另一个好处是所有函数都可以返回相同类型的对象。如果接受此选项,则可以删除强度_获取()通过将其与roi选择(_S)功能。通过让每个函数返回一个计算机集成制造属性包含二甲苯像素_ int由适当的函数使用,或通过将新类作为的子类使用计算机集成制造.

无论如何,这不是一个要求,只是一些我认为会很好的东西!

性能

roi选择(_S):阈值为100时,运行highlight时会出现奇怪的错误。阈值>100时,运行roi_select时会出现奇怪的错误,阈值远低于0时也是如此。我建议强制执行0<阈值<100(即,如果提供的值超出该范围,则抛出错误)。这些错误很难解释,因此由于门槛。目前它只检查它是否为数字。其他参数视情况而定。

这个应用程序对我来说运行得有点慢。它无论如何都不可用,但如果有什么方法可以加快速度(例如,对图像进行子采样以设置阈值和其他参数,然后按下按钮进行全面分析),那就太好了。

自动检查

良好实践::良好实践()

良好实践::良好实践()在Windows和Ubuntu上都给了我以下消息:

编写所有功能的单元测试,以及一般情况下的所有包代码。87%的代码行是由测试用例覆盖。R/方法。R: 52:不适用R/方法。R: 53:不适用R/方法。R: 54:不适用R/方法。R: 62:不适用R/方法。R: 138:不适用……还有12条线路

仅Ubuntu错误:

修复此R CMD检查警告:创建PDF版本时LaTeX错误。这通常是表示Rd问题。修复此R CMD检查错误:重新运行时没有重定向stdout/stderr。嗯。。。像一个包一样您可能希望通过“rm-rf/tmp/RtmpKNtM4d/Rd2pdf2e0446da511d”进行清理

仅Windows错误:

警告消息:1:在MYPREPS[[prep]](state,quiet=quiet)中:圈复杂性的准备步骤失败。2:在MYPREPS[[prep]](state,quiet=quiet)中:rcmdcheck的准备步骤失败。
开发工具::check()

一旦vignette问题得到解决,Ubuntu将完全通过(请参阅Vignettes部分)。

它在Windows上运行示例时,会在“检查示例”部分中导致错误.曼德斯,我认为是因为.曼德斯未导出。

生成过程

解决了vignette问题后,在Ubuntu上运行良好(请参阅Vignettes部分)

我在Windows上收到以下警告:

Rd警告:H:/R/colocr/man/roi_select。Rd:16:包“imager”中的文件链接“shrink”不存在,因此被视为主题Rd警告:H:/R/colocr/man/roi_select。Rd:20:包“imager”中的文件链接“fill”不存在,因此被视为主题Rd警告:H:/R/colocr/man/roi_select。Rd:38:包“imager”中的文件链接“shrink”不存在,因此被视为主题Rd警告:H:/R/colocr/man/roi_select。Rd:39:包“imager”中的文件链接“fill”不存在,因此被视为主题
测验

测试通过。

文档

我在Ubuntu上收到以下警告:

跳过无效路径:.labels_add。道路跳过无效路径:.pearson。道路跳过无效路径:.manders。道路

包装指南

第1.3.2节建议,Shiny应用程序应附带一种机制,以重现GUI中所做的选择,例如自动生成代码。也许您可以添加一个选项卡,生成基于用户选择运行的代码?

第1.7节建议创建文档网站。

@梅勒
复制链接
成员

谢谢你的全面审查@西安! 😀

@马哈沙班
复制链接
作者

谢谢,@西安供您审阅。
接下来,我将回答这些问题。

我真的很喜欢你建议的API。我在一个名为可移液的尝试这种方法。如果结果证明这更好,我会重写测试、应用程序和小插曲。

@梅勒
复制链接
成员

@haozhu233号只是提醒一下,你的复习将于2018年9月3日到期。谢谢您!😺

@haozhu233号
复制链接

haozhu233号 评论2018年8月31日

程序包审查

请勾选适用的复选框,并在下面的评论中详细说明。如评审指南所述,您的评审不限于这些主题

  • 作为审阅者,我确认我审阅这部作品时没有利益冲突(如果您不确定是否存在冲突,请与您的编辑联系之前开始复习)。

文档

该文件包包括以下所有形式的文件:

  • 需求声明在自述文件中明确说明软件旨在解决的问题及其目标受众
  • 安装说明:用于包的开发版本和README中的任何非标准依赖项
  • 渐晕演示在本地成功运行的主要功能
  • 功能文档:对于R帮助中的所有导出函数
  • 示例对于R帮助中在本地成功运行的所有导出函数
  • 社区指导方针包括自述或贡献中的贡献指南,以及描述统一资源定位地址,错误报告维护人员(可通过以下方式自动生成作者@R).

功能

  • 安装:如文件所述,安装成功。
  • 功能:已确认软件的任何功能声明。
  • 性能:该软件的任何性能声明都已得到证实。
  • 自动化测试:单元测试涵盖软件包的基本功能
    以及合理的投入和条件范围。所有测试都在本地计算机上通过。
  • 包装指南:包符合rOpenSci打包指南

最终批准(事后审查)

  • 作者对我的评论做出了回应,并做出了令我满意的修改。我建议批准此套餐。

估计花在审查上的时间:

评审意见

我查看了发展这个包的分支,因为它有一个独立的文件夹用于那个闪亮的应用程序。我注意到主分支最近有一些变化,但主要是关于徽章的。我在OSX 10.13上运行所有检查。

该软件包提供了一种直接的方法来进行协同定位计算,这是一种针对显微镜图像的特定类型的图像分析。这个包中只有5个主要功能,但它们非常有用且易于使用。作者还在一个闪亮的应用程序中提供了一个GUI,使其更加用户友好。程序包小插曲也写得很好,很容易理解。尽管我个人没有任何分析显微镜图像的经验,但我仍然能够按照教程进行操作,并完成应该做的事情。我可以想象这个包对于这个特定的用例非常有用。

在这里,我列出了我发现的一些最重要的问题:

  • 现在,闪亮应用程序的源代码位于inst/colocr应用程序文件夹。这种方法有效,但如果应用程序被认为是这个包的核心功能之一,我建议将这些代码放在R文件夹中,并以适合R包的方式重新编码
  • 闪亮的应用程序本身存在一些问题。我将在下面详细解释。
  • 程序包小插曲有许多问题。大多数这些问题都已被提到@西安我只是想附和一下。我做得再好不过了。
  • @西安关于缺乏同时处理多个图像的功能的评论也适用于这款闪亮的应用程序。最好让用户上传一个zip文件,然后逐个处理图像。此功能有点重要,因为表格面板某种程度上表明用户应该对许多图像进行分析,然后将结果收集在一起。过多的鼠标点击会很快让用户讨厌使用该应用程序。

还有一些小问题可能需要改进。我也将在下面提到它们。

R代码

  1. 的默认值n个在里面roi选择(_S)定义于.labels_add(标签_添加)它不是导出的函数。它混淆了RStudio,并提出了一个代码诊断警告:“n个未定义”。

  2. 列测试(_T),最好将类型选项和小插曲中使用的术语。例如,“皮尔逊”可以成为“PCC”“pcc”反之亦然。同时,选项“全部”应该是“两者”.

  3. 使用目的第3章如果类(img)!=“cimg”。这似乎有点多余。此逻辑可以简单地替换为如果语句,甚至可以模块化为一个小的实用函数。

  4. 方法。R(右)到多个R文件中,如roi。强度(&I)。R、 基于他们的目的。

  5. 函数名称运行应用程序(_A)太笼统了。考虑换个名字。例如,colocr应用程序

闪亮应用程序

  1. 当没有图像输入时,屏幕上会显示一些错误消息。为了解决这个问题,建议请求(img1())在每一开始输出对象。例如,
输出$image_plot<-renderPlot({req(输入$image1)par(mfrow=c(2,2),mar=rep(1,4))roi_show(img=img1(),px=像素(),labels=labs.px())})
  1. 无需定义图像1,标签.px,二甲苯校正在里面反应值。你可以从这样的事情开始。
值<-ractiveValues()#加载图像img1<-反应({image(input$image1$datapath)#注意,我删除了赋值})
  1. 关于你的问题(https://github.com/MahShaaban/colocr/blob/636435f57d034e02a9bc05cc7bd5d646e5dcb970/inst/colocr_app/app.R#L149),你可以说值$df<-data.frame()这就足够了。

对于上述三个问题,请查看此修改版本:https://gist.github.com/haozhu233/7a02bb4a03ccf4b5ef63acf40c53bbc7

  1. 正如我上面所说的,如果用户可以上传一个包含许多图片的压缩文件,那就太好了。您可以添加两个按钮用于后退和前进,以及一个简单的计数器,使其易于使用。

  2. 最好将下载到csv按钮添加到“表格视图”选项卡上的这两个表中。

  3. 相关文本可以重新格式化,并变得更加可读。

其他

  1. 我还觉得根据软件包指南,pkgdown网站可能会有所帮助。
  2. 我也很喜欢@西安关于使用可管道方法的建议,看到它的实现,我非常激动。

@梅勒
复制链接
成员

非常感谢你的评论@haozhu233号! 😀

@马哈沙班现在这两篇评论都在。

@马哈沙班
复制链接
作者

我编写了两个测试来检查应用程序的输出是否使用相同的输入参数进行复制。Onc测试使用了科尔克函数和另一个没有。测试通过了本地和Travis的测试,而他们两人在Appveyor上都失败了。除此之外,这些是唯一实际检查数字输出(联合本地化统计数据)的测试,我认为无论是应用程序还是科尔克函数是问题的根源。

测试位于名为tests/test-reproduce_app。R(右)在这个最后一次提交

PS。@西安之前注意到,小插曲中我检查相同输入的应用程序输出再现的部分返回了错误的。代码块是检查相等(_E)在小插曲的第313行。这是在windows机器上发生的吗?

@梅勒
复制链接
成员

很有趣。你能添加一个使用成像器和不在colocr中的数据的更简单的例子吗?这样我就可以运行它,我们就可以在成像器仓库中发布了?

@马哈沙班
复制链接
作者

我不知道如何在这种情况下做出一个最小的例子。到目前为止,我已经检查了其中一个的最终输出科尔克成像仪测试在本地和travis上通过,但不通过评估。我正在使用多个成像仪函数,而这种差异可能是由于它们中的任何一个。所以,

  • 我不知道如何识别产生差异的特定函数。
  • 成像仪构建在travis上,只是为了更早的提交,但它没有appveyor集成。
  • 我在年做了同样的测试colocr/test-reproduce_app。R(右)独立于科尔克如果这有帮助的话。基本上,我更换了system.file()呼叫download.file()首先从GitHub开始阅读。

我现在的想法是建造成像仪在travis和appveyor上进行测试。与此同时,我正试图找出一种方法来识别导致问题的一个或多个功能。我不确定这是明智的方法,但我认为我可以将测试运行中的所有中间对象保存在R对象中,并将其与windows/appveyor上的测试运行进行比较。

@梅勒
复制链接
成员

@马哈沙班我看不到带有download.files()? 你能写一个要点吗测试那个? 然后我会运行它。我在想看成像仪:会有帮助,如果可能的话,在每个使用成像仪功能的地方都可以使用()要显示输出,这样比较容易吗?

@马哈沙班
复制链接
作者

对不起,我忘记链接到成像仪叉子。
在这里,是脚本的要点。我更新了第二次修订以删除测试那个电话。

@马哈沙班
复制链接
作者

马哈沙班 评论2018年9月28日

我将ubuntu和windows上计算出的相关性之间的差异追溯到加载图像的第一步。我想是这样(dahtah/成像仪#41)是相关的,尽管维护者和用户都还没有跟进这个问题!

我发现科尔克包在两个平台上的加载方式不同。这至少在一定程度上是为了jpeg::readJPEG()用于成像器::load.image()colocr::image_load()。我在尝试其他图像时也注意到了这一点。这是来自jpeg格式包本身。

关于乌班图

>版本_                           平台x86_64-pc-linux-gnu拱形x86_64操作系统linux-gnu系统x86_64,linux-gnu状态大调3次要5.12018年07月第02天svn版次74947语言R版本.字符串R版本3.5.1(2018-07-02)绰号羽毛喷雾>软件包版本(“jpeg”)[1] ‘0.1.8’               >fl<-system.file('img','Rlogo.jpg',package='jpeg')>img<-jpeg::读取jpeg(fl)>平均值(img)[1] 0.7046421

在windows上

>版本_                           平台x86_64-w64-mingw32拱形x86_64os明w32系统x86_64,明w32状态大调3次要5.12018年07月第02天svn版次74947语言R版本.字符串R版本3.5.1(2018-07-02)绰号羽毛喷雾>软件包版本(“jpeg”)[1] ‘0.1.8’               >fl<-system.file('img','Rlogo.jpg',package='jpeg')>img<-jpeg::读取jpeg(fl)>平均值(img)[1] 0.7047047

请注意从第四个小数点开始的差异。我正在展示意思是这里,但我目视检查了值本身,它们看起来不同。这可能是由于小数点非常小时的不稳定性/不准确吗?

我无法超越这一点jpeg::读取jpeg它本身是对源文件的调用,是CImg公司据我所知,C++库。

>jpeg::readJPEG函数(source,native=FALSE).Call(“read_jpeg”,if(is.raw(source))source-else path.expand(source),native,PACKAGE=“jpeg”)<字节码:0x2d11910><环境:namespace:jpeg>

@马哈沙班
复制链接
作者

我用过图像读取来自魔法包而不是加载图像成像仪这似乎解决了ubuntu/windows差异的问题。在这里,ropensci/colocr#3

@梅勒
复制链接
成员

酷!在这种情况下,为什么不把整个包都换成magick呢?😉

@杰伦
复制链接
成员

杰伦 评论2018年9月28日

我支持梅勒的建议,试着换成魔法。它是一个更全面、更可靠的图像工具包。在magick中,您是否缺少图像处理程序中的特定功能?

@马哈沙班
复制链接
作者

谢谢,@梅勒 @杰伦以获取建议。我当然不介意调查。

尽管该方案目前严重依赖于成像仪,我不介意切换到魔法.我经历了魔法vignette和我认为我需要的类和基本图像转换已经存在。然而,我看不到与形态学操作在里面成像仪,即收缩(),增长(),填充()清洁()或是我遗漏了什么魔法可以替代这些吗?

以下是来自NAMESPACE公司

importFrom(成像仪,清洁)importFrom(成像仪,填充)importFrom(图像器,增长)importFrom(成像仪,收缩)importFrom(成像仪,阈值)

@杰伦
复制链接
成员

杰伦 评论2018年9月29日

谢谢,另请参阅此问题:ropensci/magick#136

在magick的最新开发版本中,您可以使用形态_类型():

>形态_类型()[1]"未定义"         "关联"         "卷积"          "扩张"[5]"侵蚀"             "关闭"             "正常开放"              "扩张强度"[9]"侵蚀强度"    "CloseIntensity关闭强度"    "OpenIntensity(开放强度)"     "扩张I"[13]"ErodeI公司"            "关闭"            "开放式I"             "平滑"[17]"边缘输出(EdgeOut)"           "边缘输入"            "边缘"              "顶帽"[21]"Bottom帽子"         ""               "点击次数"          "命中和未命中"[25]"稀释"          "加厚"           "距离"          "迭代距离"[29]"沃罗诺伊"       

我认为您使用的主要功能是:

  • 收缩:magick::image_morphology(方法=“Erode”,…)
  • 增长:magick::image_morphology(方法='Dilate',…)

我不知道具体是什么成像仪::清洁在引擎盖下,但imagemagick形态学手册解释了几种可用于清洁的形态学方法。我们还有一个功能magick::image_despeckle().

对于阈值,您可以尝试图像阈值()或者你可以尝试一些形态学方法。

@马哈沙班
复制链接
作者

听起来很棒。我会调查的。谢谢@杰伦

@梅勒
复制链接
成员

经核准的!谢谢@马哈沙班提交和@西安 @haozhu233号感谢您的评论!😸

待办事项:

  • 打开问题计划以将所有内容切换到魔法随着时间的推移将依赖项切换到魔法科尔克#4(@杰伦你可以在那里插话,再次感谢你在这里的评论)
  • 将回购转移到您回购中“设置”下rOpenSci的“rOpenSci”GitHub组织。我已经邀请你加入一个允许你这样做的团队。一旦你这样做,你就会成为管理员。
  • 将rOpenSci页脚添加到自述文件的底部
    "[![ropensci_footer](https://ropensci.org/public_images/ropensci_footer.png)](https://ropensci.org)"
  • 修复CI和coverage徽章中的任何链接,以指向ropensci URL。我们不再将Appveyor项目转移到ropensci-Appveyor帐户,因此在将您的回购转移到ropensci的“ropensci-”GitHub组织后,徽章应为[![AppVeyor生成状态](https://ci.appveyor.com/api/projects/status/github/ropensci/pkgname?branch=master&svg=true)](https://ci.appveyor.com/project/individualacount/pkgname).
  • 我们开始通过Codemeta计划向所有ropensci包推出软件元数据文件,请参阅https://github.com/ropensci/codemetar/#codemetar关于如何在包中包含它,在安装包之后,只需在包的根目录中运行codemetar::writecodemet()即可。

如果您想了解软件包描述中的审阅者,可以让他们“版本”-类型贡献器作者@R现场(经他们同意)。有关此的更多信息在这里.

欢迎登机!我们也希望有一篇关于你的包裹的博客帖子,或者是简短的介绍(https://ropensci.org/tech-notes/)或长篇帖子,对其发展进行更多叙述。(https://ropensci.org/blog/). 如果你感兴趣,@斯蒂芬尼布特兰将联系内容和时间。

我们已经开始用我们的最佳实践和技巧制作一本gitbook,本章启动关于入职后指导的3d部分。请告诉我们可以改进什么,相应的回购是在这里.

@马哈沙班
复制链接
作者

谢谢大家。
我转移了回购,修复了ci链接,并将研究其他建议。

我想感谢你的贡献@梅勒,@haozhu233号,@西安、和@杰伦如果你不介意的话。

@梅勒
复制链接
成员

令人惊叹的!

不要承认我的捐款,如前所述在这里“请不要将编辑列为贡献者。非常感谢您对rOpenSci的参与和贡献!”😉 (我们是认真的!)

@斯蒂芬尼布特兰
复制链接
成员

你好@马哈沙班。你有兴趣为rOpenSci博客写一篇关于你的软件包的文章吗(https://ropensci.org/tech-notes/)或长篇帖子,对其发展进行更多叙述(https://ropensci.org/blog/)?

此链接将为您提供许多登录包作者的博客帖子示例,以便您了解自己喜欢的风格和长度:https://ropensci.org/tags/onboarding(登录)/.

以下是投稿的一些技术和编辑指南:https://github.com/ropensci/roweb2#贡献-博客帖子.

请让我知道你的想法。

@马哈沙班
复制链接
作者

谢谢,@斯蒂芬尼布特兰为这个机会。我想写一篇关于科尔克。我会先阅读指南,然后再联系您进行讨论。

@斯蒂芬尼布特兰
复制链接
成员

@马哈沙班你觉得设定一个提交草稿的最后期限怎么样?我很高兴回答你可能有的任何问题。

@马哈沙班
复制链接
作者

@斯蒂芬尼布特兰.我当然不介意。我读了你之前提到的指南,我想我会带一个简短的帖子介绍。这个想法是修改小插曲的部分内容,用例子解释包的目标和如何实现。如果可以的话,我会马上开始。

@斯蒂芬尼布特兰
复制链接
成员

如果你指的是技术说明(https://ropensci.org/technotes网站/),他们不需要安排在一周中的某一天,所以请在准备好后提交草稿,我很快就会审阅。

改编部分小插曲,解释包的目标以及如何通过示例实现。

听起来不错。确保它与小插曲有足够的不同。如果你能给出一个很酷的例子来说明你可以用这个包做什么,而不是给出几个例子,那就太好了。

@马哈沙班
复制链接
作者

可以。谢谢@斯蒂芬尼布特兰.

@斯蒂芬尼布特兰
复制链接
成员

@马哈沙班,@梅勒只是提醒我这是你的第二套餐入职!我很好奇软件包作者提交多个软件包的动机,例如,作者在后续提交中的努力是否会减少回报?

我知道你说过你更喜欢写一篇关于科尔克,但如果你对它感兴趣,并且你自己也看到了它的价值,我很乐意阅读一篇博客文章科尔克正如您所描述的,但也反映了您的经验和加入多个套餐的动机。

没有义务做比你建议的更多的事情!😄

@马哈沙班
复制链接
作者

事实是,我打算写一篇关于最近提交的这篇文章的博客。我第一次向ropensci提交包时也发生了同样的情况。我之所以回避它,是因为我看不出软件包和功能的详细描述与小插曲有什么不同!我当然愿意接受这方面的教育。可能有不同的写作方式或程序包的不同方面,在写博客帖子和程序包小品时,我应该关注它们。
我认为,熟悉提交和审查过程对第二次提交有很大帮助。因此,从这个意义上说,第二次提交更容易。在这两种情况下,我都有非常积极的经历。我认为我收到的评论和建议改进了包。

@斯蒂芬尼布特兰
复制链接
成员

对不起的@马哈沙班我想当我以为你想写一篇科技笔记时,我误解了。是的,你的想法是写一篇博文:“改编小插曲的部分内容,解释包的目标以及如何用示例说明”听起来不错。

我看不出软件包和功能的详细描述与小插曲有什么不同!

我认为博客帖子与小插曲的不同之处在于,帖子应该讲述一个故事。与小插曲不同,这是一个机会,可以让你对软件包表达个人观点,比如你学到的东西,或是创建它的真正强烈动机。这是你的第一个Shiny应用程序吗?对于使用Shiny应用程序的软件包,你有什么一般的提示吗?这可能会让你所在领域之外的人对这篇文章感兴趣。(感谢@梅勒当我向她征求意见时,她向我提出了这一建议。)你知道你的软件包的其他用户吗?他们是如何使用它的?这些东西中的任何一件都可以放在邮筒里。

发表博客帖子的最大好处之一是可以吸引更多人关注你的作品。发布后,我们会从rOpenSci推特上向20000多名关注者发送推文,并被R-weekly live和R-bloggers关注。

这样,你想设定通过拉取请求提交草稿的截止日期吗?技术和编辑指南:https://github.com/ropensci/roweb2#贡献-博客帖子.

@马哈沙班
复制链接
作者

@斯蒂芬尼布特兰,我刚刚提交了一份带有博客文章初稿的公关,ropensci-archive/roweb2#329请告诉我你的想法。

免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
项目
还没有
开发

没有分支或拉请求

6名参与者