Cardiac atlases#
cardiac-geometries also have support for downloading and converting geometries coming from atlases. Currently we only support data coming from the Bai et. al atlas which is found at https://zenodo.org/records/4506463
You can use the command
!cardiac-geometries atlas-bai --help
Usage: cardiac-geometries atlas-bai [OPTIONS] N
Create meshes from instances of https://zenodo.org/records/4506463
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --outdir -o DIRECTORY Output directory, default is 'bai-atlas' │
│ --force -f Force regeneration of files │
│ --verbose -v Print more information │
│ --copy-original Copy original files into output directory │
│ --create-fibers Create fibers with LDRB algorithm │
│ --coarsening -c Coarsen the mesh │
│ --ffun Create facet function │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
to work with the atlas data. For example say you want to download data for instance number 4, then you can do
!cardiac-geometries atlas-bai 4 -o atlas-data
Downloading https://zenodo.org/records/4506463/files/instances_001_to_010.tar.gz?download=1 to /__w/cardiac-geometries/cardiac-geometries/docs/atlas-data/instances_001_to_010.tar.gz. This may take a while.
Traceback (most recent call last):
File "/usr/bin/cardiac-geometries", line 8, in <module>
sys.exit(app())
File "/usr/lib/python3/dist-packages/rich_click/rich_command.py", line 402, in __call__
return super().__call__(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 1631, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/rich_click/rich_command.py", line 216, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 2032, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3/dist-packages/click/core.py", line 1415, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 910, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/cardiac_geometries/cli.py", line 1076, in atlas_bai
path, headers = urlretrieve(url, outdir / filename)
File "/usr/lib/python3.10/urllib/request.py", line 241, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 504: Gateway Time-out
which will output the data in the folder atlas-data
!ls -R atlas-data
atlas-data:
Now the data inside atlas-data/instance_004/original can be read by dolfin.