dpc10ster / RJafroc

Artificial Intelligence: Evaluating AI, optimizing AI
19 stars 8 forks source link

Reading iMRMC data #72

Closed jwitos closed 2 years ago

jwitos commented 2 years ago

Hi,

DfReadDataFile suggests that the package is capable of loading data in iMRMC format. However, attempting to load those datasets results in an error:

Error in ReadImrmc(fileName, sequentialNames) : 
  Cases' truth states must be 0 or 1.

This can be reproduced by using sample iMRMC file following format shown in the iMRMC documentation, e.g.

Simulated iMRMC input

NR: 2
N0: 1
N1: 1
NM: 2

BEGIN DATA:
-1,1,0,1
-1,2,0,0
reader1,1,film,1.4
reader1,1,digital,1.9
reader2,1,film,-0.41
reader2,1,digital,0.68
reader1,2,film,1.4
reader1,2,digital,1.9
reader2,2,film,-0.41
reader2,2,digital,0.68

Note 1: I assume this might be related to updates to the iMRMC software. Link to the iMRMC website in current documentation is outdated Note 2: This format also doesn't support case IDs that are non-integers. iMRMC documentation sample shows case ID as text, e.g. "case1". RJafroc gives a clear error message so it's not a problem but just wanted to give you a heads up.

jwitos commented 2 years ago

After playing around with the format and looking at the sample iMRMC file in the repository, it turns out that it was the "reader1" string that caused this error. Changing reader ID text to integer, i.e. "reader1" to 1, solves the problem.

Modality ID can be kept as text (e.g. "film") and will not throw that error.

dpc10ster commented 2 years ago

You found the solution; reader should be integer.