Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8b2d2cd

Browse files
committed
run blue to format jmesh new units
1 parent 549c581 commit 8b2d2cd

File tree

1 file changed

+77
-63
lines changed

1 file changed

+77
-63
lines changed

‎nibabel/jmesh/jmesh.py‎

Lines changed: 77 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,26 @@
1010
# Qianqian Fang <q.fang at neu.edu>
1111
##############
1212

13-
__all__ = ['JMesh','read','write','default_header']
13+
__all__ = ['JMesh','read','write','default_header']
1414

15-
from jdata import (load as jdload, save as jdsave)
15+
from jdata import load as jdload, save as jdsave
1616
import numpy as np
1717
from ..filebasedimages import FileBasedImage
1818

1919
default_header = {
20-
"JMeshVersion":"0.5",
21-
"Comment":"Created by NiPy with NeuroJSON JMesh specification",
22-
"AnnotationFormat":"https://neurojson.org/jmesh/draft2",
23-
"Parser":{
24-
"Python":[
25-
"https://pypi.org/project/jdata",
26-
"https://pypi.org/project/bjdata"
27-
],
28-
"MATLAB":[
29-
"https://github.com/NeuroJSON/jnifty",
30-
"https://github.com/NeuroJSON/jsonlab"
31-
],
32-
"JavaScript":"https://github.com/NeuroJSON/jsdata",
33-
"CPP":"https://github.com/NeuroJSON/json",
34-
"C":"https://github.com/NeuroJSON/ubj"
35-
}
20+
'JMeshVersion': '0.5',
21+
'Comment': 'Created by NiPy with NeuroJSON JMesh specification',
22+
'AnnotationFormat': 'https://neurojson.org/jmesh/draft2',
23+
'Parser': {
24+
'Python': ['https://pypi.org/project/jdata', 'https://pypi.org/project/bjdata'],
25+
'MATLAB': ['https://github.com/NeuroJSON/jnifty', 'https://github.com/NeuroJSON/jsonlab'],
26+
'JavaScript': 'https://github.com/NeuroJSON/jsdata',
27+
'CPP': 'https://github.com/NeuroJSON/json',
28+
'C': 'https://github.com/NeuroJSON/ubj',
29+
},
3630
}
3731

32+
3833
class JMesh(FileBasedImage):
3934
"""JMesh: a simple data structure representing a brain surface
4035
@@ -62,28 +57,28 @@ class JMesh(FileBasedImage):
6257
raw : a dict
6358
The raw data loaded from the .jmsh or .bmsh file
6459
"""
60+
6561
valid_exts = ('.jmsh', '.bmsh')
6662
files_types = (('image', '.jmsh'), ('image', '.bmsh'))
6763
makeable = False
6864
rw = True
6965

70-
def __init__(self, info=None, node=None, nodelabel=None, face=None,
71-
facelabel=None):
66+
def __init__(self, info=None, node=None, nodelabel=None, face=None, facelabel=None):
7267

7368
self.raw = {}
74-
if(not info is None):
69+
ifnot info is None:
7570
self.raw['_DataInfo_'] = info
7671

77-
if(not nodelabel is None):
78-
self.raw['MeshVertex3'] = {'Data': node, 'Properties': {'Tag': nodelabel}}
72+
ifnot nodelabel is None:
73+
self.raw['MeshVertex3'] = {'Data': node, 'Properties': {'Tag': nodelabel}}
7974
self.node = self.raw['MeshVertex3']['Data']
8075
self.nodelabel = self.raw['MeshVertex3']['Properties']['Tag']
8176
else:
8277
self.raw['MeshVertex3'] = node
8378
self.node = self.raw['MeshVertex3']
8479

85-
if(not facelabel is None):
86-
self.raw['MeshTri3'] = {'Data': face, 'Properties': {'Tag': facelabel}}
80+
ifnot facelabel is None:
81+
self.raw['MeshTri3'] = {'Data': face, 'Properties': {'Tag': facelabel}}
8782
self.face = self.raw['MeshTri3']['Data']
8883
self.facelabel = self.raw['MeshTri3']['Properties']['Tag']
8984
else:
@@ -99,8 +94,9 @@ def from_filename(self, filename, opt={}, **kwargs):
9994
def to_filename(self, filename, opt={}, **kwargs):
10095
write(self, filename, opt, **kwargs)
10196

97+
10298
def read(filename, opt={}, **kwargs):
103-
"""Load a JSON or binary JData (BJData) based JMesh file
99+
"""Load a JSON or binary JData (BJData) based JMesh file
104100
105101
Parameters
106102
----------
@@ -116,73 +112,90 @@ def read(filename, opt={}, **kwargs):
116112
mesh : a JMesh object
117113
Return a JMesh object containing mesh data fields such as node, face, nodelabel etc
118114
"""
119-
opt.setdefault('ndarray',True)
115+
opt.setdefault('ndarray',True)
120116

121117
mesh = JMesh
122118
mesh.raw = jdload(filename, opt, **kwargs)
123119

124-
#--------------------------------------------------
120+
#--------------------------------------------------
125121
# read metadata as `info`
126-
#--------------------------------------------------
127-
if('_DataInfo_' in mesh.raw):
122+
#--------------------------------------------------
123+
if'_DataInfo_' in mesh.raw:
128124
mesh.info = mesh.raw['_DataInfo_']
129125

130-
#--------------------------------------------------
126+
#--------------------------------------------------
131127
# read vertices as `node` and `nodelabel`
132-
#--------------------------------------------------
133-
if('MeshVertex3' in mesh.raw):
128+
#--------------------------------------------------
129+
if'MeshVertex3' in mesh.raw:
134130
mesh.node = mesh.raw['MeshVertex3']
135-
elif('MeshNode' in mesh.raw):
131+
elif'MeshNode' in mesh.raw:
136132
mesh.node = mesh.raw['MeshNode']
137133
else:
138134
raise Exception('JMesh', 'JMesh surface must contain node (MeshVertex3 or MeshNode)')
139135

140-
if(isinstance(mesh.node, dict)):
141-
if(('Properties' in mesh.node) and ('Tag' in mesh.node['Properties'])):
136+
ifisinstance(mesh.node, dict):
137+
if ('Properties' in mesh.node) and ('Tag' in mesh.node['Properties']):
142138
mesh.nodelabel = mesh.node['Properties']['Tag']
143-
if('Data' in mesh.node):
139+
if'Data' in mesh.node:
144140
mesh.node = mesh.node['Data']
145-
if(isinstance(mesh.node, np.ndarray) and mesh.node.ndim == 2 and mesh.node.shape[1] > 3):
146-
mesh.nodelabel = mesh.node[:,3:]
141+
ifisinstance(mesh.node, np.ndarray) and mesh.node.ndim == 2 and mesh.node.shape[1] > 3:
142+
mesh.nodelabel = mesh.node[:,3:]
147143
mesh.node = mesh.node[:, 0:3]
148144

149-
#--------------------------------------------------
145+
#--------------------------------------------------
150146
# read triangles as `face` and `facelabel`
151-
#--------------------------------------------------
152-
if('MeshTri3' in mesh.raw):
147+
#--------------------------------------------------
148+
if'MeshTri3' in mesh.raw:
153149
mesh.face = mesh.raw['MeshTri3']
154-
elif('MeshSurf' in mesh.raw):
150+
elif'MeshSurf' in mesh.raw:
155151
mesh.face = mesh.raw['MeshSurf']
156152

157-
if(isinstance(mesh.face, dict)):
158-
if(('Properties' in mesh.face) and ('Tag' in mesh.face['Properties'])):
153+
ifisinstance(mesh.face, dict):
154+
if ('Properties' in mesh.face) and ('Tag' in mesh.face['Properties']):
159155
mesh.facelabel = mesh.face['Properties']['Tag']
160-
if('Data' in mesh.face):
156+
if'Data' in mesh.face:
161157
mesh.face = mesh.face['Data']
162-
if(isinstance(mesh.face, np.ndarray) and mesh.face.ndim == 2 and mesh.face.shape[1] > 3):
163-
mesh.facelabel = mesh.face[:,3:]
158+
ifisinstance(mesh.face, np.ndarray) and mesh.face.ndim == 2 and mesh.face.shape[1] > 3:
159+
mesh.facelabel = mesh.face[:,3:]
164160
mesh.face = mesh.face[:, 0:3]
165161

166-
#--------------------------------------------------
162+
#--------------------------------------------------
167163
# convert to numpy ndarray
168-
#--------------------------------------------------
169-
if(opt['ndarray']):
170-
if hasattr(mesh, 'node') and (not mesh.node is None) and (not isinstance(mesh.node, np.ndarray)):
164+
# --------------------------------------------------
165+
if opt['ndarray']:
166+
if (
167+
hasattr(mesh, 'node')
168+
and (not mesh.node is None)
169+
and (not isinstance(mesh.node, np.ndarray))
170+
):
171171
mesh.node = np.array(mesh.node)
172172

173-
if hasattr(mesh, 'face') and (not mesh.face is None) and (not isinstance(mesh.face, np.ndarray)):
173+
if (
174+
hasattr(mesh, 'face')
175+
and (not mesh.face is None)
176+
and (not isinstance(mesh.face, np.ndarray))
177+
):
174178
mesh.face = np.array(mesh.face)
175179

176-
if hasattr(mesh, 'nodelabel') and (not mesh.nodelabel is None) and (not isinstance(mesh.nodelabel, np.ndarray)):
180+
if (
181+
hasattr(mesh, 'nodelabel')
182+
and (not mesh.nodelabel is None)
183+
and (not isinstance(mesh.nodelabel, np.ndarray))
184+
):
177185
mesh.nodelabel = np.array(mesh.nodelabel)
178186

179-
if hasattr(mesh, 'facelabel') and (not mesh.facelabel is None) and (not isinstance(mesh.facelabel, np.ndarray)):
187+
if (
188+
hasattr(mesh, 'facelabel')
189+
and (not mesh.facelabel is None)
190+
and (not isinstance(mesh.facelabel, np.ndarray))
191+
):
180192
mesh.facelabel = np.array(mesh.facelabel)
181193

182194
return mesh
183195

196+
184197
def write(mesh, filename, opt={}, **kwargs):
185-
"""Save the current mesh to a new file
198+
"""Save the current mesh to a new file
186199
187200
Parameters
188201
----------
@@ -207,20 +220,21 @@ def write(mesh, filename, opt={}, **kwargs):
207220
mesh.raw = {}
208221

209222
if hasattr(mesh, 'info') and not mesh.info is None:
210-
mesh.raw['_DataInfo_']=mesh.info
223+
mesh.raw['_DataInfo_']=mesh.info
211224
if hasattr(mesh, 'node') and not mesh.node is None:
212-
if(hasattr(mesh, 'facelabel') and not mesh.nodelabel is None):
213-
mesh.raw['MeshVertex3']={'Data': mesh.node, 'Properties': {'Tag': mesh.nodelabel}}
225+
ifhasattr(mesh, 'facelabel') and not mesh.nodelabel is None:
226+
mesh.raw['MeshVertex3']={'Data': mesh.node, 'Properties': {'Tag': mesh.nodelabel}}
214227
else:
215-
mesh.raw['MeshVertex3']=mesh.node
228+
mesh.raw['MeshVertex3']=mesh.node
216229

217230
if hasattr(mesh, 'info') and not mesh.face is None:
218-
if(hasattr(mesh, 'facelabel') and not mesh.facelabel is None):
219-
mesh.raw['MeshTri3']={'Data': mesh.face, 'Properties': {'Tag': mesh.facelabel}}
231+
ifhasattr(mesh, 'facelabel') and not mesh.facelabel is None:
232+
mesh.raw['MeshTri3']={'Data': mesh.face, 'Properties': {'Tag': mesh.facelabel}}
220233
else:
221-
mesh.raw['MeshTri3']=mesh.face
234+
mesh.raw['MeshTri3']=mesh.face
222235

223236
return jdsave(mesh.raw, filename, opt, **kwargs)
224237

238+
225239
load = read
226240
save = write

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /