-
Notifications
You must be signed in to change notification settings - Fork 0
/
3dAutomask.json
131 lines (131 loc) · 6.09 KB
/
3dAutomask.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
{
"command-line": "3dAutomask [PREFIX] [APPLY_PREFIX] [CLFRAC] [NOGRAD] [PEELS] [NBHRS] [Q] [ECLIP] [DILATE] [ERODE] [SI] [DEPTH] [DATASET]",
"description": "tool description",
"inputs": [
{
"command-line-flag": "-prefix",
"description": "Write mask into dataset with prefix 'ppp'. [Default == 'automask']",
"id": "PREFIX",
"name": "PREFIX",
"optional": true,
"type": "String",
"value-key": "[PREFIX]"
},
{
"command-line-flag": "-apply_prefix",
"description": "Apply mask to input dataset and save masked dataset. If an apply_prefix is given and not the usual prefix, the only output will be the applied dataset",
"id": "APPLY_PREFIX",
"name": "APPLY_PREFIX",
"optional": true,
"type": "String",
"value-key": "[APPLY_PREFIX]"
},
{
"command-line-flag": "-clfrac",
"description": "Set the 'clip level fraction' to 'cc', which must be a number between 0.1 and 0.9. A small 'cc' means to make the initial threshold for clipping (a la 3dClipLevel) smaller, which will tend to make the mask larger. [default=0.5]",
"id": "CLFRAC",
"name": "CLFRAC",
"optional": true,
"type": "String",
"value-key": "[CLFRAC]"
},
{
"command-line-flag": "-nograd",
"description": "The program uses a 'gradual' clip level by default. To use a fixed clip level, use '-nograd'. [Change to gradual clip level made 24 Oct 2006.]",
"id": "NOGRAD",
"name": "NOGRAD",
"optional": true,
"type": "String",
"value-key": "[NOGRAD]"
},
{
"command-line-flag": "-peels",
"description": "Peel the mask 'pp' times, then unpeel. Designed to clip off protuberances less than 2*pp voxels thick. [Default == 1]",
"id": "PEELS",
"name": "PEELS",
"optional": true,
"type": "String",
"value-key": "[PEELS]"
},
{
"command-line-flag": "-nbhrs",
"description": "Define the number of neighbors needed for a voxel NOT to be peeled. The 18 nearest neighbors in the 3D lattice are used, so 'nn' should be between 9 and 18. [Default == 17]",
"id": "NBHRS",
"name": "NBHRS",
"optional": true,
"type": "String",
"value-key": "[NBHRS]"
},
{
"command-line-flag": "-q",
"description": "Don't write progress messages (i.e., be quiet).",
"id": "Q",
"name": "Q",
"optional": true,
"type": "String",
"value-key": "[Q]"
},
{
"command-line-flag": "-eclip",
"description": "After creating the mask, remove exterior voxels below the clip threshold.",
"id": "ECLIP",
"name": "ECLIP",
"optional": true,
"type": "String",
"value-key": "[ECLIP]"
},
{
"command-line-flag": "-dilate",
"description": "Dilate the mask outwards 'nd' times.",
"id": "DILATE",
"name": "DILATE",
"optional": true,
"type": "String",
"value-key": "[DILATE]"
},
{
"command-line-flag": "-erode",
"description": "Erode the mask inwards 'ne' times.",
"id": "ERODE",
"name": "ERODE",
"optional": true,
"type": "String",
"value-key": "[ERODE]"
},
{
"command-line-flag": "-SI",
"description": "After creating the mask, find the most superior voxel, then zero out everything more than 'hh' millimeters inferior to that. hh=130 seems to be decent (i.e., for Homo Sapiens brains).",
"id": "SI",
"name": "SI",
"optional": true,
"type": "String",
"value-key": "[SI]"
},
{
"command-line-flag": "-depth",
"description": "Produce a dataset (DEP) that shows how many peel operations it takes to get to a voxel in the mask. The higher the number, the deeper a voxel is located in the mask. None of -peels, -dilate, or -erode affect this option. -------------------------------------------------------------------- How to make an edge-of-brain mask from an anatomical volume: * 3dSkullStrip to create a brain-only dataset; say, Astrip+orig * 3dAutomask -prefix Amask Astrip+orig * Create a mask of edge-only voxels via 3dcalc -a Amask+orig -b a+i -c a-i -d a+j -e a-j -f a+k -g a-k \\ -expr 'ispositive(a)*amongst(0,b,c,d,e,f,g)' -prefix Aedge which will be 1 at all voxels in the brain mask that have a nearest neighbor that is NOT in the brain mask. * cf. '3dcalc -help' DIFFERENTIAL SUBSCRIPTS for information on the 'a+i' et cetera inputs used above. * In regions where the brain mask is 'stair-stepping', then the voxels buried inside the corner of the steps probably won't show up in this edge mask: ...00000000... ...aaa00000... ...bbbaa000... ...bbbbbaa0... Only the 'a' voxels are in this edge mask, and the 'b' voxels down in the corners won't show up, because they only touch a 0 voxel on a corner, not face-on. Depending on your use for the edge mask, this effect may or may not be a problem. -------------------------------------------------------------------- ++ Compile date = Sep 7 2018 {:}",
"id": "DEPTH",
"name": "DEPTH",
"optional": true,
"type": "String",
"value-key": "[DEPTH]"
},
{
"description": "NA",
"id": "dataset",
"name": "dataset",
"optional": false,
"type": "String",
"value-key": "[DATASET]"
}
],
"name": "tool name",
"schema-version": "0.5",
"suggested-resources": {
"cpu-cores": 1,
"ram": 1,
"walltime-estimate": 60
},
"tags": {},
"tool-version": "v0.1.0"
}