Skip to content
Snippets Groups Projects
Commit 3c7849a3 authored by Frauke Beyer's avatar Frauke Beyer
Browse files

updated utils.py because get_fdata() returns float instead of int

parent 66463b57
No related branches found
No related tags found
No related merge requests found
from __future__ import division from __future__ import division
import nipype.pipeline.engine as pe import nipype.pipeline.engine as pe
from nipype import SelectFiles
import nipype.interfaces.utility as util import nipype.interfaces.utility as util
from nipype.interfaces.freesurfer import ApplyVolTransform, BBRegister from nipype.interfaces.freesurfer import ApplyVolTransform, BBRegister
from nipype.interfaces.fsl import ImageStats from nipype.interfaces.fsl import ImageStats
......
...@@ -16,7 +16,7 @@ def filter_labels(in_file, include_superlist, fixed_id=None, map_pairs_list=None ...@@ -16,7 +16,7 @@ def filter_labels(in_file, include_superlist, fixed_id=None, map_pairs_list=None
# read label file and create output # read label file and create output
in_nib = nib.load(in_file) in_nib = nib.load(in_file)
in0 = in_nib.get_data() in0 = in_nib.get_fdata()
out0 = np.zeros(in0.shape, dtype=in0.dtype) out0 = np.zeros(in0.shape, dtype=in0.dtype)
# for each group of labels in subset assign them the same id (either 1st in subset or fixed-id, in case given) # for each group of labels in subset assign them the same id (either 1st in subset or fixed-id, in case given)
...@@ -50,11 +50,11 @@ def norm_dist_map(orig_file, dest_file): ...@@ -50,11 +50,11 @@ def norm_dist_map(orig_file, dest_file):
orig_nib = nib.load(orig_file) orig_nib = nib.load(orig_file)
dest_nib = nib.load(dest_file) dest_nib = nib.load(dest_file)
orig = orig_nib.get_data() orig = orig_nib.get_fdata()
dest = dest_nib.get_data() dest = dest_nib.get_fdata()
dist_orig = distance_transform_edt(np.logical_not(orig.astype(np.bool))) dist_orig = distance_transform_edt(np.logical_not(orig.astype(bool)))
dist_dest = distance_transform_edt(np.logical_not(dest.astype(np.bool))) dist_dest = distance_transform_edt(np.logical_not(dest.astype(bool)))
# normalized distance (0 in origin to 1 in dest) # normalized distance (0 in origin to 1 in dest)
ndist = dist_orig / (dist_orig + dist_dest) ndist = dist_orig / (dist_orig + dist_dest)
...@@ -71,15 +71,15 @@ def create_shells(ndist_file, n_shells=4, out_file = 'shells.nii.gz', mask_file= ...@@ -71,15 +71,15 @@ def create_shells(ndist_file, n_shells=4, out_file = 'shells.nii.gz', mask_file=
import numpy as np import numpy as np
ndist_nib = nib.load(ndist_file) ndist_nib = nib.load(ndist_file)
ndist = ndist_nib.get_data() ndist = ndist_nib.get_fdata()
# if mask is provided, use it to mask-out regions outside it # if mask is provided, use it to mask-out regions outside it
if mask_file is not None: if mask_file is not None:
mask_nib = nib.load(mask_file) mask_nib = nib.load(mask_file)
assert mask_nib.header.get_data_shape() == ndist_nib.header.get_data_shape(), "Different shapes of images" assert mask_nib.header.get_data_shape() == ndist_nib.header.get_data_shape(), "Different shapes of images"
mask = mask_nib.get_data() > 0 mask = mask_nib.get_fdata() > 0
out = np.zeros(ndist.shape, dtype=np.int8) out = np.zeros(ndist.shape, dtype=np.float64)
limits = np.linspace(0., 1., n_shells+1) limits = np.linspace(0., 1., n_shells+1)
for i in np.arange(n_shells)+1: for i in np.arange(n_shells)+1:
...@@ -91,7 +91,7 @@ def create_shells(ndist_file, n_shells=4, out_file = 'shells.nii.gz', mask_file= ...@@ -91,7 +91,7 @@ def create_shells(ndist_file, n_shells=4, out_file = 'shells.nii.gz', mask_file=
out[np.isclose(ndist, 0.)] = 0 # need to assign zero to ventricles because of >= above out[np.isclose(ndist, 0.)] = 0 # need to assign zero to ventricles because of >= above
aux_hdr = ndist_nib.header aux_hdr = ndist_nib.header
aux_hdr.set_data_dtype(np.int8) aux_hdr.set_data_dtype(np.float64)
out_nib = nib.Nifti1Image(out, ndist_nib.affine, aux_hdr) out_nib = nib.Nifti1Image(out, ndist_nib.affine, aux_hdr)
nib.save(out_nib, out_file) nib.save(out_nib, out_file)
...@@ -110,28 +110,30 @@ def merge_labels(in1_file, in2_file, out_file='merged.nii.gz', intersect=False): ...@@ -110,28 +110,30 @@ def merge_labels(in1_file, in2_file, out_file='merged.nii.gz', intersect=False):
assert in1_nib.header.get_data_shape() == in2_nib.header.get_data_shape(), "Different shapes of images" assert in1_nib.header.get_data_shape() == in2_nib.header.get_data_shape(), "Different shapes of images"
in1 = in1_nib.get_data() in1 = in1_nib.get_fdata()
in2 = in2_nib.get_data() in2 = in2_nib.get_fdata()
out = None out = None
# if not intersection, simply include labels from 'in2' into 'in1' # if not intersection, simply include labels from 'in2' into 'in1'
if not intersect: if not intersect:
out = np.zeros(in1.shape, dtype=np.int8) out = np.zeros(in1.shape, dtype=np.float64) #use floating integer because this is the format returned by get_fdata()
out[:] = in1[:] out[:] = in1[:]
mask = in2 > 0 mask = in2 > 0
out[mask] = in2[mask] # overwrite in1 where in2 > 0 out[mask] = in2[mask] # overwrite in1 where in2 > 0
out=np.round(out) #round float output so that correct first decimal is achieved
print(np.unique(out.ravel()))
aux_hdr = in1_nib.header aux_hdr = in1_nib.header
aux_hdr.set_data_dtype(np.int8) aux_hdr.set_data_dtype(np.float64)
# if intersection, create new label-set as cartesian product of the two sets # if intersection, create new label-set as cartesian product of the two sets
else: else:
out = np.zeros(in1.shape, dtype=np.int32) out = np.zeros(in1.shape, dtype=np.float64)
u1_set = np.unique(in1.ravel()) u1_set = np.unique(in1.ravel())
u2_set = np.unique(in2.ravel()) u2_set = np.unique(in2.ravel())
...@@ -144,10 +146,10 @@ def merge_labels(in1_file, in2_file, out_file='merged.nii.gz', intersect=False): ...@@ -144,10 +146,10 @@ def merge_labels(in1_file, in2_file, out_file='merged.nii.gz', intersect=False):
mask2 = in2 == u2 mask2 = in2 == u2
mask3 = np.logical_and(mask1, mask2) mask3 = np.logical_and(mask1, mask2)
if not np.any(mask3): continue if not np.any(mask3): continue
out[mask3] = int(str(u1) + str(u2)) # new label id by concatenating [u1, u2] out[mask3] = int(str(round(u1)) + str(round(u2))) # new label id by concatenating rounded [u1, u2]
aux_hdr = in1_nib.header aux_hdr = in1_nib.header
aux_hdr.set_data_dtype(np.int32) aux_hdr.set_data_dtype(np.float64)
out_nib = nib.Nifti1Image(out, in1_nib.affine, aux_hdr) out_nib = nib.Nifti1Image(out, in1_nib.affine, aux_hdr)
nib.save(out_nib, out_file) nib.save(out_nib, out_file)
...@@ -176,17 +178,17 @@ def generate_wmparc(incl_file, ndist_file, label_file, incl_labels=None, verbose ...@@ -176,17 +178,17 @@ def generate_wmparc(incl_file, ndist_file, label_file, incl_labels=None, verbose
# create inclusion mask # create inclusion mask
incl_mask = None incl_mask = None
incl_aux = incl_nib.get_data() incl_aux = incl_nib.get_fdata()
if incl_labels is None: if incl_labels is None:
incl_mask = incl_aux > 0 incl_mask = incl_aux > 0
else: else:
incl_mask = np.zeros(incl_nib.header.get_data_shape(), dtype=np.bool) incl_mask = np.zeros(incl_nib.header.get_data_shape(), dtype=bool)
for lab in incl_labels: for lab in incl_labels:
incl_mask[incl_aux == lab] = True incl_mask[incl_aux == lab] = True
# get rest of numpy arrays # get rest of numpy arrays
ndist = ndist_nib.get_data() ndist = ndist_nib.get_fdata()
label = label_nib.get_data() label = label_nib.get_fdata()
# get DONE and processing masks # get DONE and processing masks
DONE_mask = label > 0 # this is for using freesurfer wmparc DONE_mask = label > 0 # this is for using freesurfer wmparc
...@@ -333,7 +335,7 @@ def make_list(in1,in2): ...@@ -333,7 +335,7 @@ def make_list(in1,in2):
return([in1,in2]) return([in1,in2])
def extract_parcellation(in1_file, in2_file, option="sum"): def extract_parcellation(in1_file, in2_file, subject_id, option="sum"):
"""extracts WMH volumes from Bullseye parcellation: """extracts WMH volumes from Bullseye parcellation:
Parameters Parameters
...@@ -342,6 +344,8 @@ def extract_parcellation(in1_file, in2_file, option="sum"): ...@@ -342,6 +344,8 @@ def extract_parcellation(in1_file, in2_file, option="sum"):
The file location of the coregistered WMH probability image The file location of the coregistered WMH probability image
in2_file: str in2_file: str
The file location of the Bullseye segmentation with labels 51:244 The file location of the Bullseye segmentation with labels 51:244
subject_id: str
Subject identifier
option: str option: str
The way the WMH volume attributed to Bullseye regions is calculated: The way the WMH volume attributed to Bullseye regions is calculated:
thr refers to adding up all voxels with >0.1 equally in the bins representing Bullseye regions thr refers to adding up all voxels with >0.1 equally in the bins representing Bullseye regions
...@@ -365,7 +369,7 @@ def extract_parcellation(in1_file, in2_file, option="sum"): ...@@ -365,7 +369,7 @@ def extract_parcellation(in1_file, in2_file, option="sum"):
in1 = in1_nib.get_fdata() in1 = in1_nib.get_fdata()
in2 = in2_nib.get_fdata() in2 = in2_nib.get_fdata()
#in1_nib.get_data_dtype()
if option=="thr": if option=="thr":
...@@ -380,9 +384,9 @@ def extract_parcellation(in1_file, in2_file, option="sum"): ...@@ -380,9 +384,9 @@ def extract_parcellation(in1_file, in2_file, option="sum"):
elif option=="sum": elif option=="sum":
out_file='res_sum.txt' out_file='res_sum.txt'
counts=[] counts=[]
for i in np.nditer(np.array([51,52,53,54,111,112,113,114,121,122,123,124,131,132,133,134,141,142,143,144,211,212,213,214,221,222,223,224,231,232,233,234,241,242,243,244])): for i in np.nditer(np.array([51,52,53,54,111,112,113,114,121,122,123,124,131,132,133,134,141,142,143,144,211,212,213,214,221,222,223,224,231,232,233,234,241,242,243,244])):
maskedWML=in1[in2==i] maskedWML=in1[in2==i]
counts.append(sum(maskedWML)) counts.append(sum(maskedWML))
else: else:
raise Exception("No acceptable extraction method given") raise Exception("No acceptable extraction method given")
......
name: below
channels:
- conda-forge
- defaults
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- atk-1.0=2.38.0=hd4edc92_1
- brotli=1.1.0=hd590300_1
- brotli-bin=1.1.0=hd590300_1
- brotli-python=1.1.0=py310hc6cd4ac_1
- bzip2=1.0.8=hd590300_5
- ca-certificates=2023.12.12=h06a4308_0
- cairo=1.18.0=h3faef2a_0
- certifi=2023.11.17=pyhd8ed1ab_0
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- ci-info=0.3.0=pyhd8ed1ab_0
- click=8.1.7=unix_pyh707e725_0
- contourpy=1.2.0=py310hd41b1e2_0
- cycler=0.12.1=pyhd8ed1ab_0
- etelemetry=0.3.1=pyhd8ed1ab_0
- expat=2.5.0=hcb278e6_1
- filelock=3.13.1=pyhd8ed1ab_0
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=h77eed37_1
- fontconfig=2.14.2=h14ed4e7_0
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.47.2=py310h2372a71_0
- freetype=2.12.1=h267a509_2
- fribidi=1.0.10=h36c2ea0_0
- gdk-pixbuf=2.42.10=h829c605_4
- gettext=0.21.1=h27087fc_0
- giflib=5.2.1=h0b41bf4_3
- graphite2=1.3.14=h295c915_1
- graphviz=9.0.0=h78e8752_1
- gtk2=2.24.33=h7f000aa_3
- gts=0.7.6=h977cf35_4
- harfbuzz=8.3.0=h3d44ed6_0
- icu=73.2=h59595ed_0
- idna=3.6=pyhd8ed1ab_0
- importlib-metadata=7.0.1=pyha770c72_0
- importlib_resources=6.1.1=pyhd8ed1ab_0
- isodate=0.6.1=pyhd8ed1ab_0
- kiwisolver=1.4.5=py310hd41b1e2_1
- lcms2=2.16=hb7c19ff_0
- ld_impl_linux-64=2.40=h41732ed_0
- lerc=4.0.0=h27087fc_0
- libblas=3.9.0=20_linux64_openblas
- libbrotlicommon=1.1.0=hd590300_1
- libbrotlidec=1.1.0=hd590300_1
- libbrotlienc=1.1.0=hd590300_1
- libcblas=3.9.0=20_linux64_openblas
- libdeflate=1.19=hd590300_0
- libexpat=2.5.0=hcb278e6_1
- libffi=3.4.4=h6a678d5_0
- libgcc-ng=13.2.0=h807b86a_3
- libgd=2.3.3=h119a65a_9
- libgfortran-ng=13.2.0=h69a702a_3
- libgfortran5=13.2.0=ha4646dd_3
- libglib=2.78.3=h783c2da_0
- libgomp=13.2.0=h807b86a_3
- libiconv=1.17=hd590300_2
- libjpeg-turbo=3.0.0=hd590300_1
- liblapack=3.9.0=20_linux64_openblas
- libnsl=2.0.1=hd590300_0
- libopenblas=0.3.25=pthreads_h413a1c8_0
- libpng=1.6.39=h753d276_0
- librsvg=2.56.3=he3f83f7_1
- libsqlite=3.44.2=h2797004_0
- libstdcxx-ng=13.2.0=h7e041cc_3
- libtiff=4.6.0=ha9c0a0a_2
- libuuid=2.38.1=h0b41bf4_0
- libwebp=1.3.2=h658648e_1
- libwebp-base=1.3.2=hd590300_0
- libxcb=1.15=h0b41bf4_0
- libxcrypt=4.4.36=hd590300_1
- libxml2=2.12.3=h232c23b_0
- libxslt=1.1.39=h76b75d6_0
- libzlib=1.2.13=hd590300_5
- looseversion=1.3.0=pyhd8ed1ab_0
- lxml=5.1.0=py310hcfd0673_0
- matplotlib-base=3.8.2=py310h62c0568_0
- munkres=1.1.4=pyh9f0ad1d_0
- ncurses=6.4=h59595ed_2
- networkx=3.2.1=pyhd8ed1ab_0
- nibabel=5.2.0=pyha770c72_0
- nipype=1.8.6=py310hff52083_0
- numpy=1.26.3=py310hb13e2d6_0
- openjpeg=2.5.0=h488ebb8_3
- openssl=3.2.0=hd590300_1
- packaging=23.2=pyhd8ed1ab_0
- pango=1.50.14=ha41ecd1_2
- pcre2=10.42=hcad00b1_0
- pillow=10.2.0=py310h01dd4db_0
- pip=23.3.2=pyhd8ed1ab_0
- pixman=0.43.0=h59595ed_0
- prov=2.0.0=pyhd3deb0d_0
- psutil=5.9.7=py310h2372a71_0
- pthread-stubs=0.4=h36c2ea0_1001
- pydot=2.0.0=py310hff52083_0
- pyparsing=3.1.1=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- python=3.10.13=hd12c33a_1_cpython
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python_abi=3.10=4_cp310
- rdflib=7.0.0=pyhd8ed1ab_0
- readline=8.2=h8228510_1
- requests=2.31.0=pyhd8ed1ab_0
- scipy=1.11.4=py310hb13e2d6_0
- setuptools=69.0.3=pyhd8ed1ab_0
- simplejson=3.19.2=py310h2372a71_0
- six=1.16.0=pyh6c4a22f_0
- tk=8.6.13=noxft_h4845f30_101
- traits=6.3.2=py310h5764c6d_1
- unicodedata2=15.1.0=py310h2372a71_0
- urllib3=2.1.0=pyhd8ed1ab_0
- wheel=0.42.0=pyhd8ed1ab_0
- xorg-kbproto=1.0.7=h7f98852_1002
- xorg-libice=1.1.1=hd590300_0
- xorg-libsm=1.2.4=h7391055_0
- xorg-libx11=1.8.7=h8ee46fc_0
- xorg-libxau=1.0.11=hd590300_0
- xorg-libxdmcp=1.1.3=h7f98852_0
- xorg-libxext=1.3.4=h0b41bf4_2
- xorg-libxrender=0.9.11=hd590300_0
- xorg-renderproto=0.11.1=h7f98852_1002
- xorg-xextproto=7.3.0=h0b41bf4_1003
- xorg-xproto=7.0.31=h7f98852_1007
- xvfbwrapper=0.2.9=pyhd8ed1ab_1005
- xz=5.4.5=h5eee18b_0
- zipp=3.17.0=pyhd8ed1ab_0
- zlib=1.2.13=hd590300_5
- zstd=1.5.5=hfc55251_0
- pip:
- pandas==2.1.4
- pytz==2023.3.post1
- tzdata==2023.4
prefix: /data/u_fbeyer_software/miniconda3/envs/below
Brotli @ file:///home/conda/feedstock_root/build_artifacts/brotli-split_1695989787169/work
certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1700303426725/work/certifi
charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1698833585322/work
ci-info @ file:///home/conda/feedstock_root/build_artifacts/ci-info_1676863233411/work
click @ file:///home/conda/feedstock_root/build_artifacts/click_1692311806742/work
contourpy @ file:///home/conda/feedstock_root/build_artifacts/contourpy_1699041363598/work
cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1696677705766/work
etelemetry @ file:///home/conda/feedstock_root/build_artifacts/etelemetry_1697214650046/work
filelock @ file:///home/conda/feedstock_root/build_artifacts/filelock_1698714947081/work
fonttools @ file:///home/conda/feedstock_root/build_artifacts/fonttools_1704979835861/work
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1701026962277/work
importlib-metadata @ file:///home/conda/feedstock_root/build_artifacts/importlib-metadata_1703269254275/work
importlib-resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1699364556997/work
isodate @ file:///home/conda/feedstock_root/build_artifacts/isodate_1639582763789/work
kiwisolver @ file:///home/conda/feedstock_root/build_artifacts/kiwisolver_1695379902431/work
looseversion @ file:///home/conda/feedstock_root/build_artifacts/looseversion_1688586477865/work
lxml @ file:///home/conda/feedstock_root/build_artifacts/lxml_1704724217654/work
matplotlib @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-suite_1700509477637/work
munkres==1.1.4
networkx @ file:///home/conda/feedstock_root/build_artifacts/networkx_1698504735452/work
nibabel @ file:///home/conda/feedstock_root/build_artifacts/nibabel_1702339005637/work
nipype @ file:///home/conda/feedstock_root/build_artifacts/nipype_1681226807867/work
numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1704280375097/work/dist/numpy-1.26.3-cp310-cp310-linux_x86_64.whl#sha256=d6b1cccf494a7701b8dd18911cff7c805fd90e8f4a24cde7c8e40f7805c0765d
packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1696202382185/work
pandas==2.1.4
pillow @ file:///home/conda/feedstock_root/build_artifacts/pillow_1704252020178/work
prov @ file:///home/conda/feedstock_root/build_artifacts/prov_1604323926302/work
psutil @ file:///home/conda/feedstock_root/build_artifacts/psutil_1702833087123/work
pydot @ file:///home/conda/feedstock_root/build_artifacts/pydot_1704460738501/work
pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1690737849915/work
PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1661604839144/work
python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1626286286081/work
pytz==2023.3.post1
rdflib @ file:///home/conda/feedstock_root/build_artifacts/rdflib-split_1690986372614/work
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1684774241324/work
SciPy @ file:///home/conda/feedstock_root/build_artifacts/scipy-split_1700812469549/work/dist/scipy-1.11.4-cp310-cp310-linux_x86_64.whl#sha256=136e231ccb8768e60c17ed60f2c2423262d3dfd8136f373e715db9dd77617e41
simplejson @ file:///home/conda/feedstock_root/build_artifacts/simplejson_1696595864300/work
six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
traits @ file:///home/conda/feedstock_root/build_artifacts/traits_1649412908388/work
tzdata==2023.4
unicodedata2 @ file:///home/conda/feedstock_root/build_artifacts/unicodedata2_1695847980273/work
urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1699933488691/work
xvfbwrapper @ file:///home/conda/feedstock_root/build_artifacts/xvfbwrapper_1648493254892/work
zipp @ file:///home/conda/feedstock_root/build_artifacts/zipp_1695255097490/work
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: linux-64
@EXPLICIT
https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/ca-certificates-2023.12.12-h06a4308_0.conda
https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda
https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_3.conda
https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.10-4_cp310.conda
https://conda.anaconda.org/conda-forge/noarch/tzdata-2023d-h0c530f3_0.conda
https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_3.conda
https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_3.conda
https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda
https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda
https://repo.anaconda.com/pkgs/main/linux-64/graphite2-1.3.14-h295c915_1.conda
https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.4.4-h6a678d5_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_3.conda
https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.0-h59595ed_0.conda
https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/xz-5.4.5-h5eee18b_0.conda
https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-hcb278e6_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_3.conda
https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.3-h232c23b_0.conda
https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda
https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda
https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda
https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda
https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda
https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda
https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.3-h783c2da_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.25-pthreads_h413a1c8_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.39-h76b75d6_0.conda
https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_1_cpython.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.7-h8ee46fc_0.conda
https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-hd4edc92_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda
https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py310hc6cd4ac_1.conda
https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/ci-info-0.3.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/filelock-3.13.1-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda
https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h829c605_4.conda
https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda
https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py310hd41b1e2_1.conda
https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-20_linux64_openblas.conda
https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-h658648e_1.conda
https://conda.anaconda.org/conda-forge/noarch/looseversion-1.3.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/lxml-5.1.0-py310hcfd0673_0.conda
https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/networkx-3.2.1-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h488ebb8_3.conda
https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.7-py310h2372a71_0.conda
https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.1-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/setuptools-69.0.3-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/simplejson-3.19.2-py310h2372a71_0.conda
https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/traits-6.3.2-py310h5764c6d_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.1.0-py310h2372a71_0.conda
https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda
https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda
https://conda.anaconda.org/conda-forge/noarch/xvfbwrapper-0.2.9-pyhd8ed1ab_1005.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.47.2-py310h2372a71_0.conda
https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.1.1-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/isodate-0.6.1-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-20_linux64_openblas.conda
https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda
https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-20_linux64_openblas.conda
https://conda.anaconda.org/conda-forge/linux-64/pillow-10.2.0-py310h01dd4db_0.conda
https://conda.anaconda.org/conda-forge/noarch/pip-23.3.2-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2
https://conda.anaconda.org/conda-forge/noarch/urllib3-2.1.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.3-py310hb13e2d6_0.conda
https://conda.anaconda.org/conda-forge/noarch/rdflib-7.0.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.2.0-py310hd41b1e2_0.conda
https://conda.anaconda.org/conda-forge/noarch/etelemetry-0.3.1-pyhd8ed1ab_0.conda
https://conda.anaconda.org/conda-forge/noarch/nibabel-5.2.0-pyha770c72_0.conda
https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-ha41ecd1_2.conda
https://conda.anaconda.org/conda-forge/linux-64/scipy-1.11.4-py310hb13e2d6_0.conda
https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h7f000aa_3.conda
https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.3-he3f83f7_1.conda
https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.2-py310h62c0568_0.conda
https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda
https://conda.anaconda.org/conda-forge/linux-64/pydot-2.0.0-py310hff52083_0.conda
https://conda.anaconda.org/conda-forge/noarch/prov-2.0.0-pyhd3deb0d_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/nipype-1.8.6-py310hff52083_0.conda
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment