diff --git a/entity_ux/index.html b/entity_ux/index.html
index a033e44..3e7960a 100644
--- a/entity_ux/index.html
+++ b/entity_ux/index.html
@@ -85,13 +85,18 @@
var cont = document.getElementById('cont-suffix-opts');
var new_html = "";
for (dt in entity_table) {
- // Prepend "no suffix" option if dt is "fmap"
+ // one GRE fmap sequence on the scanner can have multiple oupts with different suffixes
+ // solution is to leave suffix unspecified for downstream software to figure out
if (dt === "fmap") {
entity_table[dt].unshift({
- value: "nosuffix",
- display_name: "No Suffix",
- description: "Multiple series number output from a single sequence",
- entities: {} // No additional entities required
+ value: "",
+ display_name: "Multiple",
+ description: "Multiple output series from a single scan sequence. Suffix is left blank for downstream software to disambiguate with more information (e.g. multiple folders with distinguishing dicom headers)",
+
+ // want generic entity options (ses, run, acq, chunk). same as mag or phase would have
+ // fmap[0] is likely phasediff. has same options as phase and mag
+ // copy phasediff b/c entities array has nested structure that includes tooltip popup text
+ entities: entity_table['fmap'][0].entities
});
}
@@ -175,8 +180,11 @@
}
/**
- * update #reproin-name like seqtype_label_entity-value_entity-value
- * #entities-text>__custom is treated special
+ * update #reproin-name like
+ * 'seqtype-suffixlabel_entity-value_entity-value'
+ * special consideration
+ * #entities-text>__custom - no 'entity-', instead '__value'
+ * nosuffix - 'seqtype-suffix' is just 'seqtype'
*
*/
function update_name() {
@@ -188,16 +196,23 @@
suffix = entity_table[datatype][suffix_i]['value'];
}
- // Check if the "No Suffix" option is selected
- if (suffix === "nosuffix") {
- return; // Do not modify reproin_name if "No Suffix" is selected
+ /*
+ special case (gre fmap) where one sequence creates multi-modiality output
+ but one reproin name cant accomidate both so we'll depend on
+ downstream software (heudiconv) to fill in the blanks we leave
+ instead of 'fmap-', we have 'fmap'
+ */
+ var reproin_name = datatype
+ if (suffix !== '') {
+ reproin_name += "-" + suffix;
}
- var reproin_name = datatype + "-" + suffix;
const inputs_div = document.getElementById('entities-text');
for (e of inputs_div.children) {
if (e.value == "" || e.value === undefined) { continue; }
+ // custom is a catch all and is appendd differently
+ // NB. expect e.name to be custom as very last iteration of loop
if (e.name === "__custom") {
reproin_name += "__" + e.value;
} else {