存储和访问数据,以用于未来对运营商内部和运营商间可变性的分析



我即将开始一个简短的项目,该项目将涉及合理数量的数据,我希望以合理的方式存储这些数据,最好是postgressql数据库。

我将简要介绍这项任务。我将处理和分析一系列图像的数据,每个图像都有一个唯一的ID。对于每个图像,我和其他操作员将完成一些简单的图像处理任务,包括调整角度和放置区域,最终结果是许多定量参数,如均值、方差等。我们预计这些措施将存在运营商内部和运营商之间的差异,这也是我想分析的。

我最初的计划是以以下方式存储数据

ID   Operator   Attempt    Date     Result1     Result2      Reconstruction Method    Iterations 
1    AB         1          01/01/13   x         x            FBP
1    AB         2          01/01/13   x         x            FBP
1    CD         1          01/01/13   x         x            FBP
1    CD         2          01/01/13   x         x            FBP
2    AB         1          01/01/13   x         x            FBP
2    AB         2          01/01/13   x         x            FBP
2    CD         1          01/01/13   x         x            FBP
2    CD         2          01/01/13   x         x            FBP
1    AB         1          11/01/13   x         x            FBP
1    AB         2          01/01/13   x         x            MLEM

现在,我想比较的是(使用相关性和Bland-Altman图)相同操作员处理相同图像的结果差异(图像必须具有相同的ID、日期、重建技术)。即对于所有相同的图像和操作员,尝试1和2如何不同。我想对互操作性可变性进行同样的分析,即对于所有用FBP重建的图像,AB与ID为1的CD的比较如何,或者对于所有用MLEM重建的图像的EF与AB的比较如何。具有相同唯一ID但在不同日期或重建技术获取的图像不应进行比较,因为它们将包含操作员可变性之外的差异。

我有各种R脚本来进行分析,但我不确定的是如何访问我的数据,并将其以合理的格式排列以进行分析,或者我计划的存储方法是否适合这样做。过去我曾使用perl访问数据库并提取数字,但我最近发现Rpostgressql可能更合适。

我想我的问题是,对于这样一个数据库,我该如何挑选:

(a) 所有唯一的图像(ID,在同一日期用相同的重建方法获取),并比较操作员AB(CD等)在尝试1和2 的所有Result1中的差异

(b) 比较AB和CD、CD和EF等之间的所有Result1尝试1也是一样的

下面是我想要的(a)输出的一个例子

ID   Operator    Date     Result1 (Attempt 1)    Result1(Attempt 2)
1    AB          01/01/13     10                      12
2    AB          01/01/13     22                      21
3    AB          03/01/13     15                      17
4    AB          04/01/13     27                      25
5    AB          06/01/13     14                      12
1    AB          11/01/13     3                       6

然后我会分析最后2列

(b)比较AB和CD 的示例输出

ID   Date     Result1 (Op: AB, Att: 1)    Result1(Op: CD: Att 1)
1    01/01/13        10                          12
2    01/01/13        22                          21
3    05/01/13        12                          14
1    11/01/13        19                          24

这些只是一个粗略的想法!

(a) 所有唯一的图像(ID,在同一日期获取重建方法),并比较操作员AB(CD等)尝试1和2

对于(a),可以使用利用参数DISTINCT&CCD_ 2。

例如

SELECT DISTINCT Images FROM YourTable SORT BY DATE(Date), "Reconstruction Method" 

(b) 比较AB和CD之间的所有Result1尝试1也是一样的,CD和EF等

对于(b),可以使用使用参数WHERE的SQL语句。

例如

SELECT * From YourTable WHERE Operator=AB

最新更新