incf-nidash / nidmresults-spm

Export SPM results in a lightweight format
http://nidm.nidash.org/specs/nidm-results.html
1 stars 4 forks source link

Empty FDR p-values for clusters #48

Open TomMaullin opened 6 years ago

TomMaullin commented 6 years ago

In the NIDM-Results pack ex_spm_thr_voxelfdrp05 generated by the exporter (given in this neurovault collection), for each nidm_SupraThresholdCluster object, an nidm_qValueFDR field has been included but is left as empty (See below for examples taken from the jsonld and ttl serializations respectively). This is the only dataset in this collection for which this is happening.

    {
      "@id": "niiri:2938ff2affdcc2f2713d2dbce0faeac2",
      "@type": ["prov:Entity","nidm_SupraThresholdCluster"],
      "rdfs:label": "Supra-Threshold Cluster: 0002",
      "nidm_clusterSizeInVoxels": {"@type": "xsd:int", "@value": "464"},
      "nidm_clusterSizeInResels": {"@type": "xsd:float", "@value": "7.07546848970521"},
      "nidm_pValueUncorrected": {"@type": "xsd:float", "@value": "5.46600673096314e-07"},
      "nidm_pValueFWER": {"@type": "xsd:float", "@value": "4.27325808851631e-05"},
      "nidm_qValueFDR": {"@type": "xsd:float", "@value": "[]"},
      "nidm_clusterLabelId": {"@type": "xsd:int", "@value": "2"}
    },
niiri:2938ff2affdcc2f2713d2dbce0faeac2
    a prov:Entity, nidm_SupraThresholdCluster: ; 
    rdfs:label "Supra-Threshold Cluster: 0002" ;
    nidm_clusterSizeInVoxels: "464"^^xsd:int ;
    nidm_clusterSizeInResels: "7.07546848970521"^^xsd:float ;
    nidm_pValueUncorrected: "5.46600673096314e-07"^^xsd:float ;
    nidm_pValueFWER: "4.27325808851631e-05"^^xsd:float ;
    nidm_qValueFDR: "[]"^^xsd:float ;
    nidm_clusterLabelId: "2"^^xsd:int .

It does not appear as though the nidm_HeightThreshold or nidm_ExtentThreshold objects in this pack have any similar issues.

nicholst commented 6 years ago

@cmaumet I forget what our stance was on missing values... was "[]" preferred or just omitted the value from the serialisation. I have a memory that we discussed it but I don't remember the outcome.

cmaumet commented 6 years ago

@nicholst: when we have missing values, we usually omit the attribute in the serialisation because it makes it easier to identify the missingness using queries. This also avoids having to decide on a the value which represents missing data ([], NaN, etc.).

But in the case of ex_spm_thr_voxelfdrp05 (voxelwise p<0.05 FDR corrected), the FDR values are reported by SPM for each peak/voxel which made us think the "[]" values were possibly due to a bug in the exporter.

nicholst commented 6 years ago

@cmaumet: So should we move away from using https://neurovault.org/collections/2210/ for testing or fix it?

cmaumet commented 6 years ago

@nicholst: I'd say let's 1/ check if this is a bug in the exporter & fix it 2/ release a new version of the SPM NIDM exporter 3/ recompute the examples in the a new NeuroVault collection. How does that sound?