From 60447c2a1434e89f107acab2b4c0ef6c23d5e97d Mon Sep 17 00:00:00 2001
From: Xiao Gui <xgui3783@gmail.com>
Date: Fri, 5 Feb 2021 18:46:07 +0100
Subject: [PATCH] hotfix: temporarily disable colin 27

---
 docs/releases/v2.3.5.md                      |  5 ++++
 src/res/ext/atlas/atlas_multiLevelHuman.json | 28 --------------------
 src/ui/parcellationRegion/region.base.ts     | 12 +++++++--
 3 files changed, 15 insertions(+), 30 deletions(-)
 create mode 100644 docs/releases/v2.3.5.md

diff --git a/docs/releases/v2.3.5.md b/docs/releases/v2.3.5.md
new file mode 100644
index 000000000..27726fea2
--- /dev/null
+++ b/docs/releases/v2.3.5.md
@@ -0,0 +1,5 @@
+# v2.3.5
+
+## Under the hood stuff
+
+- Temporarily disable Colin 27 template.
\ No newline at end of file
diff --git a/src/res/ext/atlas/atlas_multiLevelHuman.json b/src/res/ext/atlas/atlas_multiLevelHuman.json
index 36d9d008d..be3f3b7f1 100644
--- a/src/res/ext/atlas/atlas_multiLevelHuman.json
+++ b/src/res/ext/atlas/atlas_multiLevelHuman.json
@@ -51,20 +51,6 @@
         }
       ]
     },
-    {
-      "@id": "minds/core/referencespace/v1.0.0/7f39f7be-445b-47c0-9791-e971c0b6d992",
-      "name": "MNI Colin 27",
-      "availableIn": [
-        {
-          "@id": "minds/core/parcellationatlas/v1.0.0/94c1125b-b87e-45e4-901c-00daee7f2579-25",
-          "name": "Cytoarchitectonic maps - v2.5"
-        },
-        {
-          "@id": "juelich/iav/atlas/v1.0.0/8",
-          "name": "Cytoarchitectonic Maps - v1.18"
-        }
-      ]
-    },
     {
       "@id": "minds/core/referencespace/v1.0.0/a1655b99-82f1-420f-a3c2-fe80fd4c8588",
       "name": "Big Brain (Histology)",
@@ -102,13 +88,6 @@
           "originalDatasetFormats": [{
             "name": "probability map"
           }]
-        },
-        {
-          "@id": "minds/core/referencespace/v1.0.0/7f39f7be-445b-47c0-9791-e971c0b6d992",
-          "name": "MNI Colin 27",
-          "originalDatasetFormats": [{
-            "name": "probability map"
-          }]
         }
       ]
     },
@@ -146,13 +125,6 @@
           "originalDatasetFormats": [{
             "name": "probability map"
           }]
-        },
-        {
-          "@id": "minds/core/referencespace/v1.0.0/7f39f7be-445b-47c0-9791-e971c0b6d992",
-          "name": "MNI Colin 27",
-          "originalDatasetFormats": [{
-            "name": "probability map"
-          }]
         }
       ]
     },
diff --git a/src/ui/parcellationRegion/region.base.ts b/src/ui/parcellationRegion/region.base.ts
index 56742360d..0897a5f0c 100644
--- a/src/ui/parcellationRegion/region.base.ts
+++ b/src/ui/parcellationRegion/region.base.ts
@@ -257,9 +257,11 @@ export class RenderViewOriginDatasetLabelPipe implements PipeTransform{
 }
 
 export const regionInOtherTemplateSelector = createSelector(
+  viewerStateGetSelectedAtlas,
   viewerStateFetchedTemplatesSelector,
   viewerStateSelectedTemplateSelector,
-  (fetchedTemplates, templateSelected, prop) => {
+  (atlas, fetchedTemplates, templateSelected, prop) => {
+    const atlasTemplateSpacesIds = atlas.templateSpaces.map(({ ['@id']: id }) => id)
     const { region: regionOfInterest } = prop
     const returnArr = []
 
@@ -268,7 +270,13 @@ export const regionInOtherTemplateSelector = createSelector(
     const regionOfInterestId = getIdFromFullId(regionOfInterest.fullId)
     if (!templateSelected) return []
     const selectedTemplateId = getIdFromFullId(templateSelected.fullId)
-    const otherTemplates = fetchedTemplates.filter(({ fullId }) => getIdFromFullId(fullId) !== selectedTemplateId)
+
+    // need to ensure that the templates are defined in atlas definition
+    // atlas is the single source of truth 
+    
+    const otherTemplates = fetchedTemplates
+      .filter(({ fullId }) => getIdFromFullId(fullId) !== selectedTemplateId)
+      .filter(({ ['@id']: id }) => atlasTemplateSpacesIds.includes(id))
     for (const template of otherTemplates) {
       for (const parcellation of template.parcellations) {
         const flattenedRegions = flattenRegions(parcellation.regions)
-- 
GitLab