GithubHelp home page GithubHelp logo

aiconslab / miracl Goto Github PK

View Code? Open in Web Editor NEW
29.0 7.0 8.0 345.28 MB

Multi-modal Image Registration And Connectivity anaLysis

Home Page: https://miracl.readthedocs.io

License: GNU General Public License v3.0

Python 69.89% Shell 22.66% Dockerfile 0.97% Singularity 0.35% ImageJ Macro 6.14%
neuroscience brain atlases connectivity network clarity mri neuroimaging biomedical image-registration

miracl's Introduction

GitHub license Docker Pulls

alt text


MIRACL (Multi-modal Image Registration And Connectivity anaLysis) is a general-purpose, open-source pipeline for automated:

  1. Registration of cleared and imaging data (ex. LSFM and MRI) to atlases (ex. Allen Reference Atlas)
  2. 3D Segmentation and feature extraction of cleared data
  3. Tract-specific or network-level connectivity analysis
  4. Statistical analysis of cleared and imaging data
  5. Comparison of dMRI/tractography, virus tracing, and connectivity atlases
  6. Atlas generation and Label manipulation

**NEW WORKFLOW/FEATURE RELEASE**

We have released our AI-based Cartography of Ensembles (ACE) workflow, an end-to-end, automated pipeline that integrates cutting-edge deep learning segmentation models and advanced statistical methods to enable unbiased and generalizable brain-wide mapping of 3D alterations in neuronal activity, morphology, or connectivity at the sub-regional and laminar levels beyond atlas-defined regions.

ACE is now available here. Tutorials and usage examples for ACE can be found in our docs.


We recommend using MIRACL with the Docker or Singularity containers we provide but it can also be installed locally. For more details, see our docs.


Copyright (c) 2023 Maged Goubran

All Rights Reserved

miracl's People

Contributors

aattarpour avatar anthonyprinaldi avatar chrisroat avatar entiri avatar ishita1988 avatar jono3030 avatar kelvin-jok avatar mgoubran avatar vsoch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miracl's Issues

Docker install generating errors

Hi,

The default install using Docker generates errors due to module abc. It seems there is an incompatibility between libraries based on python 2 and others based on python 3.

The error comes from nibabel/externals/oset.py:

Traceback (most recent call last):
  File "/opt/miniconda/bin/miracl", line 11, in <module>
    load_entry_point('MIRACL==1.1.0', 'console_scripts', 'miracl')()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
    return ep.load()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2434, in load
    return self.resolve()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2440, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/cli.py", line 17, in <module>
    from miracl.seg import cli_seg
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/cli_seg.py", line 5, in <module>
    from miracl.seg import miracl_seg_feat_extract, miracl_seg_voxelize_parallel, miracl_seg_feats_cortex
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/miracl_seg_voxelize_parallel.py", line 17, in <module>
    import nibabel as nib
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/__init__.py", line 63, in <module>
    from . import analyze as ana
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/analyze.py", line 87, in <module>
    from .volumeutils import (native_code, swapped_code, make_dt_codes,
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/volumeutils.py", line 24, in <module>
    from .externals.oset import OrderedSet
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/externals/oset.py", line 17, in <module>
    from collections.abc import MutableSet
ImportError: No module named abc

However fixing this error by changing from collections.abc import MutableSet to from collections import MutableSet generates another error:

Traceback (most recent call last):
  File "/opt/miniconda/bin/miracl", line 11, in <module>
    load_entry_point('MIRACL==1.1.0', 'console_scripts', 'miracl')()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
    return ep.load()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2434, in load
    return self.resolve()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2440, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/cli.py", line 17, in <module>
    from miracl.seg import cli_seg
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/cli_seg.py", line 5, in <module>
    from miracl.seg import miracl_seg_feat_extract, miracl_seg_voxelize_parallel, miracl_seg_feats_cortex
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/miracl_seg_voxelize_parallel.py", line 17, in <module>
    import nibabel as nib
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/__init__.py", line 70, in <module>
    from .loadsave import load, save
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/loadsave.py", line 18, in <module>
    from .imageclasses import all_image_classes
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/imageclasses.py", line 13, in <module>
    from .cifti2 import Cifti2Image
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/cifti2/__init__.py", line 20, in <module>
    from .parse_cifti2 import Cifti2Extension
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/cifti2/parse_cifti2.py", line 15, in <module>
    from .cifti2 import (Cifti2MetaData, Cifti2Header, Cifti2Label,
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/cifti2/cifti2.py", line 20, in <module>
    from collections.abc import MutableSequence, MutableMapping, Iterable
ImportError: No module named abc

And fixing this one by changing from collections.abc to from collections uncovers another error:

  File "/opt/miniconda/bin/miracl", line 11, in <module>
    load_entry_point('MIRACL==1.1.0', 'console_scripts', 'miracl')()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
    return ep.load()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2434, in load
    return self.resolve()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2440, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/cli.py", line 17, in <module>
    from miracl.seg import cli_seg
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/cli_seg.py", line 5, in <module>
    from miracl.seg import miracl_seg_feat_extract, miracl_seg_voxelize_parallel, miracl_seg_feats_cortex
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/miracl_seg_voxelize_parallel.py", line 17, in <module>
    import nibabel as nib
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/__init__.py", line 70, in <module>
    from .loadsave import load, save
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/loadsave.py", line 18, in <module>
    from .imageclasses import all_image_classes
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/imageclasses.py", line 13, in <module>
    from .cifti2 import Cifti2Image
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/cifti2/__init__.py", line 29, in <module>
    from .cifti2_axes import (Axis, BrainModelAxis, ParcelsAxis, SeriesAxis, LabelAxis, ScalarAxis)
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/cifti2/cifti2_axes.py", line 175, in <module>
    class Axis(abc.ABC):
AttributeError: 'module' object has no attribute 'ABC'

And fixing again this error by replacing class Axis(abc.ABC): with class Axis(abc.ABCMeta('ABC', (), {}) uncovers another error:

  File "/opt/miniconda/bin/miracl", line 11, in <module>
    load_entry_point('MIRACL==1.1.0', 'console_scripts', 'miracl')()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2843, in load_entry_point
    return ep.load()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2434, in load
    return self.resolve()
  File "/opt/miniconda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2440, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/cli.py", line 17, in <module>
    from miracl.seg import cli_seg
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/cli_seg.py", line 5, in <module>
    from miracl.seg import miracl_seg_feat_extract, miracl_seg_voxelize_parallel, miracl_seg_feats_cortex
  File "/opt/miniconda/lib/python2.7/site-packages/MIRACL-1.1.0-py2.7.egg/miracl/seg/miracl_seg_voxelize_parallel.py", line 17, in <module>
    import nibabel as nib
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/__init__.py", line 94, in <module>
    from . import streamlines
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/streamlines/__init__.py", line 7, in <module>
    from .array_sequence import ArraySequence
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/streamlines/array_sequence.py", line 89, in <module>
    class ArraySequence(object):
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/streamlines/array_sequence.py", line 76, in _define_operators
    _wrap(cls, op=op, inplace=False)
  File "/opt/miniconda/lib/python2.7/site-packages/nibabel-3.0.0rc1-py2.7.egg/nibabel/streamlines/array_sequence.py", line 70, in _wrap
    fn.__name__ = op
AttributeError: 'instancemethod' object has no attribute '__name__'

Etc.

Check for rotating circle credentials

Heyo! Just wanted to check that you rotated the circle credentials - I can see docker credentials (not the credentials just that they are there) and over xmas break Circle announced we should do this because apparently they had an incident.

segment Error

File saving error (IOException):
"/media/wzfish/Elements/toumingnao/180706_180706_20180706-thy1-H-EUDISCO-POWETR-100--WIDTH20--2-5X-10"
/media/wzfish/Elements/toumingnao/180706_180706_20180706-thy1-H-EUDISCO-POWETR-100--WIDTH20--2-5X-1000UM-CORTEX_18-02-56//../segmentation_virus/norm.tif
Segmentation done in 5 minutes. Have a good day!

MIRACL not working from CLI or GUI in latest version

Executing miracl with or without flags from the CLI does not work anymore. The GUI opens but executing any function causes MIRACL to crash.

No changes have been committed to the repo since it worked a few days ago. It's therefore reasonable to assume that the issue is likely caused by an updated package that gets downloaded when the Docker image gets created.

Output:

Traceback (most recent call last):
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3030, in _dep_map
    return self.__dep_map
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2826, in __getattr__
    raise AttributeError(attr)
AttributeError: _DistInfoDistribution__dep_map

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 35, in __init__
    parsed = parse_requirement(requirement_string)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_parser.py", line 64, in parse_requirement
    return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_parser.py", line 82, in _parse_requirement
    url, specifier, marker = _parse_requirement_details(tokenizer)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_parser.py", line 120, in _parse_requirement_details
    specifier = _parse_specifier(tokenizer)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_parser.py", line 209, in _parse_specifier
    tokenizer.consume("WS")
  File "/opt/miniconda/lib/python3.7/contextlib.py", line 119, in __exit__
    next(self.gen)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_tokenizer.py", line 185, in enclosing_tokens
    span_start=open_position,
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/_tokenizer.py", line 166, in raise_syntax_error
    span=span,
pkg_resources.extern.packaging._tokenizer.ParserSyntaxError: Expected closing RIGHT_PARENTHESIS
    fury (>=0.8.0scikit-learn) ; extra == 'all'
         ~~~~~~~~^

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/miniconda/bin/miracl", line 33, in <module>
    sys.exit(load_entry_point('MIRACL', 'console_scripts', 'miracl')())
  File "/opt/miniconda/bin/miracl", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/opt/miniconda/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 207, in load
    module = import_module(match.group('module'))
  File "/opt/miniconda/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/code/miracl/cli.py", line 19, in <module>
    from miracl.connect import cli_connect
  File "/code/miracl/connect/cli_connect.py", line 5, in <module>
    from miracl.connect import miracl_connect_label_graph_proj_dens, miracl_connect_ROI_matrix_connectogram
  File "/code/miracl/connect/miracl_connect_label_graph_proj_dens.py", line 18, in <module>
    from allensdk.core.mouse_connectivity_cache import MouseConnectivityCache
  File "/opt/miniconda/lib/python3.7/site-packages/allensdk/core/__init__.py", line 37, in <module>
    from ._data_object_base.data_object import DataObject   # noqa F401
  File "/opt/miniconda/lib/python3.7/site-packages/allensdk/core/_data_object_base/data_object.py", line 6, in <module>
    from allensdk.brain_observatory.comparison_utils import compare_fields
  File "/opt/miniconda/lib/python3.7/site-packages/allensdk/brain_observatory/comparison_utils.py", line 8, in <module>
    import xarray as xr
  File "/opt/miniconda/lib/python3.7/site-packages/xarray/__init__.py", line 1, in <module>
    import pkg_resources
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3248, in <module>
    @_call_aside
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3223, in _call_aside
    f(*args, **kwargs)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3261, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 617, in _build_master
    ws.require(__requires__)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 956, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 820, in resolve
    new_requirements = dist.requires(req.extras)[::-1]
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2746, in requires
    dm = self._dep_map
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3032, in _dep_map
    self.__dep_map = self._compute_dependencies()
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3042, in _compute_dependencies
    reqs.extend(parse_requirements(req))
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3095, in __init__
    super(Requirement, self).__init__(requirement_string)
  File "/opt/miniconda/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 37, in __init__
    raise InvalidRequirement(str(e)) from e
pkg_resources.extern.packaging.requirements.InvalidRequirement: Expected closing RIGHT_PARENTHESIS
    fury (>=0.8.0scikit-learn) ; extra == 'all'
         ~~~~~~~~^

Error while running `miracl` CLI: GLIBCXX_3.4.26 not found

Hi,

I've built the Docker version of MIRACL today using the generic/default installation instructions:

$ git clone https://www.github.com/mgoubran/MIRACL
$ cd MIRACL

After instantiating a container (using docker compose), opening up an interactive shell, and calling miracl, I get the following error:

ImportError: /opt/miniconda/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/miniconda/lib/python3.7/site-packages/SimpleITK/_SimpleITK.so)

The full traceback:

Traceback (most recent call last):
  File "/opt/miniconda/bin/miracl", line 33, in <module>
    sys.exit(load_entry_point('MIRACL', 'console_scripts', 'miracl')())
  File "/opt/miniconda/bin/miracl", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/opt/miniconda/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 207, in load
    module = import_module(match.group('module'))
  File "/opt/miniconda/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/code/miracl/cli.py", line 19, in <module>
    from miracl.connect import cli_connect
  File "/code/miracl/connect/cli_connect.py", line 5, in <module>
    from miracl.connect import miracl_connect_label_graph_proj_dens, miracl_connect_ROI_matrix_connectogram
  File "/code/miracl/connect/miracl_connect_label_graph_proj_dens.py", line 18, in <module>
    from allensdk.core.mouse_connectivity_cache import MouseConnectivityCache
  File "/opt/miniconda/lib/python3.7/site-packages/allensdk/core/__init__.py", line 37, in <module>
    from ._data_object_base.data_object import DataObject   # noqa F401
  File "/opt/miniconda/lib/python3.7/site-packages/allensdk/core/_data_object_base/data_object.py", line 6, in <module>
    from allensdk.brain_observatory.comparison_utils import compare_fields
  File "/opt/miniconda/lib/python3.7/site-packages/allensdk/brain_observatory/comparison_utils.py", line 5, in <module>
    import SimpleITK as sitk
  File "/opt/miniconda/lib/python3.7/site-packages/SimpleITK/__init__.py", line 18, in <module>
    from SimpleITK.SimpleITK import *
  File "/opt/miniconda/lib/python3.7/site-packages/SimpleITK/SimpleITK.py", line 10, in <module>
    from . import _SimpleITK
ImportError: /opt/miniconda/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/miniconda/lib/python3.7/site-packages/SimpleITK/_SimpleITK.so)

FYI, I'm using Ubuntu 18.04.

Thank you,
Yeun

GUI not launching on Windows using 'miraclGUI' command

Hello, I'm using MIRACL for the first time and trying to set up everything on a local Windows machine. While the docker is working just fine giving me expected outputs for command line usage (e.g. 'miracl -h'). I'm not able to launch the GUI using 'miraclGUI' yielding instead the following error :

qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

Aborted

Do you have any idea where that could come from ?

I'm running Xming in the background with a multi-windows (no client) configuration.

would really appreciate any help on this !

Feature Extraction - Process Killed at last labels

Hello,

Computer Specs -

  • Dell Precision Tower 7920, Ubuntu 18.04
  • Processor: Dual Intel Xeon Gold 5215 2.5GHz, 3.4GHz Turbo, 10C, 10.4GT/s 2UPI, 13.75MB, HT (85W) DDR4-2666
  • Memory: 512 GB RAM, DDR4 2666MHz
  • Video Card: NVIDIA® Quadro® P6000, 24GB, 4 DP, DL-DVI-D (7X20T)

We are running some data with Miracl and are running into issues with some of the samples we are analyzing. We get an error when running feature extraction with the following code -
miracl_seg_feat_extract.py -s segmentation_ilastik/voxelized_seg_ilastik.tif -l reg_final/annotation_hemi_split_10um_clar_vox.tif

Some of our samples get "Killed" when getting to the last few labels. It seems our memory gets filled (picture attached), which is surprising since we have 512GB of RAM. Is there a way to get avoid the process getting killed during this last step? It would be great if we are able to get around this issue, maybe there is something in the script we can update, or is there something else we could try?
Any help is appreciated,

Thank you!
Dell (2)

mv io tmp

hey @mgoubran ! Could you give me detail to why you rename "io" to "tmp" and then back? This bit:

( from inside [miracl dir] : where you placed the pipeline )
mv io tmp
pip install -e .
mv tmp io

do you mean move it to /tmp? Is the goal to run the pip command without including it?

miracl_reg_mri-allen.sh regmrallen() -- 2 issues

Thanks for putting this project together. It looks to be very helpful for us here. I've got a few issues that I've hit though. FWIW, I've grabbed things and built up as Singularity (used to that on my cluster here) but have also checked via Docker and have the same issues:

The first is that function regmrallen(), line 597 calls:
c3d ${initallen} -type int -o ${initallen}
Yet, initallen seems undefined here, so we get an error

Exception caught of type 16ConvertException
When processing command: -o
Exception detail: No data has been generated! Can't write to (null)
Looks perhaps like some vestigial code...

The second is that we're calling ants_miracl_mr with a file that doesn't exist:
ants_miracl_mr -d 3 -f /data/derivatives/miracl/sub-180727/mr_allen_reg/mr.nii.gz -m /code/atlases/ara/template/average_template_50um_OBmasked.nii.gz -o /data/derivatives/miracl/sub-180727/mr_allen_reg/allen_mr_ants -t b -p d -n 32 -s 26 -r 8

Moving image '/code/atlases/ara/template/average_template_50um_OBmasked.nii.gz' does not exist.

Here, localallen was set to /code/atlases/ara/template/average_template_50um_OBmasked.nii.gz

This is happening on line 740:
allenref=${atlasdir}/ara/template/average_template_50um_OBmasked.nii.gz

If we have a look in that folder, we see only the 25um versions of all files and a single 50um file:

ls /code/atlases/ara/template/
average_template_25um.nii.gz
average_template_25um_brainmask.nii.gz
average_template_25um_OBmasked.nii.gz
average_template_25um_left.nii.gz
average_template_25um_OBmasked_left.nii.gz
average_template_25um_right.nii.gz
average_template_25um_OBmasked_right.nii.gz
average_template_50um.nii.gz

I've shifted that to use the 25, but don't know if you really intended the 50...

Craig

Build the latest MIRACL image using the build script

Hello,

We are attempting to build the latest MIRACL image using the provided build script, as outlined in your MIRACL installation documentation with Docker. However, we have encountered an issue.

After executing the ./build.sh command, the process becomes stuck at the following step:
[3/16] RUN rm -rf $(python -c etc.
The log indicates that the process is still running with the message:
with Building wheel for simpleitk (pyproject.toml):still running...

Our environment is Ubuntu 23.10.1 running on a Windows 10 VirtualBox.

Could you please provide guidance on resolving this issue and ensuring the successful installation of MIRACL?

Thank you for your assistance.

segmentation workflow issue

Dear developers,

I'm facing an issue while trying to perform the segmentation workflow to my previously registered data.

I'm using the following parameters for segmentation :
-> vox labels from registration (opened from another software for visualization)
Capture-2
-> input folder (viral tracing)
Capture-3
-> seg type : virus
-> voxel size : 25um

But when running the segmentation workflow from the GUI, even though the FIJI software opens and starts pre-processing steps (e.g. substracting background), at some point the following log windows open :

Capture

I was not able to solve this problem due to a lack of knowledge in Java. If you have any comments on this, I would appreciate your help.

I'm thinking maybe the input data needs to be binarized, or maybe transformed into an 8-bit image (if so please indicate how I can do it). The vox labels image is not perfect neither and shows some discontinuities, could that be an issue as well in the segmentation process ?

EDIT : would that possibly help to use my locally installed version of ImageJ (1.53q) instead of the one specified in the Singularity file ?

Thanks for your time !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.