GithubHelp home page GithubHelp logo

zvibaratz / pylabber Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thelabbingproject/pylabber

0.0 0.0 2.0 39.45 MB

A database manager for neuroscience

License: Apache License 2.0

Python 99.54% Dockerfile 0.07% CSS 0.18% HTML 0.14% Shell 0.06%

pylabber's Introduction

🧠 Neuroscience PhD student at Tel-Aviv University

⭐ Currently working on The Labbing Project alongside my PhD thesis in Prof. Yaniv Assaf's lab

💬 Ask me about MRI data management, Python and neuroimaging, Linux, open source software, open science, home pickling

        

pylabber's People

Contributors

aharonyn avatar gitter-badger avatar sivang avatar squeezetoyaliens avatar zvibaratz avatar

Watchers

 avatar  avatar  avatar

pylabber's Issues

Add SSL

Add SSL for secure connectivity.

drop coreapi dependency

(venv) sivan@titan:~/pylabber/pylabber$ ./manage.py generateschema
Traceback (most recent call last):
  File "./manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/sivan/pylabber/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/sivan/pylabber/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/sivan/pylabber/venv/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/sivan/pylabber/venv/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/sivan/pylabber/venv/lib/python3.6/site-packages/rest_framework/management/commands/generateschema.py", line 20, in handle
    assert coreapi is not None, 'coreapi must be installed.'
AssertionError: coreapi must be installed.

feature: need to be able to download a subject's MRI data

-1st Iteration: Download per subject returned as a zip file of all of the scans - basically to zip the store's existing directory structure.
-2st: Iteration: Download all data of Study "cortical layers", all scans that one of the groups that is associated is as the selected study will be added to the resulting zip archive.

remove all celery references

(venv) sivan@titan:~/pylabber/pylabber$ git branch
  localdev
  master
* study_groups
(venv) sivan@titan:~/pylabber/pylabber$ grep -Hir celery *
build/lib/pylabber/celery.py:from celery import Celery
build/lib/pylabber/celery.py:app = Celery("pylabber")
build/lib/pylabber/celery.py:app.config_from_object("django.conf:settings", namespace="CELERY")
build/lib/pylabber/__init__.py:# import celery
build/lib/pylabber/__init__.py:from .celery import app as celery_app
build/lib/pylabber/__init__.py:__all__ = ("celery_app",)
Binary file dist/pylabber-0.1.0-py3.6.egg matches
Binary file pylabber/__pycache__/__init__.cpython-36.pyc matches
Binary file pylabber/__pycache__/celery.cpython-36.pyc matches
pylabber/celery.py:from celery import Celery
pylabber/celery.py:app = Celery("pylabber")
pylabber/celery.py:app.config_from_object("django.conf:settings", namespace="CELERY")
pylabber/__init__.py:# import celery
pylabber/__init__.py:from .celery import app as celery_app
pylabber/__init__.py:__all__ = ("celery_app",)
pylabber.egg-info/SOURCES.txt:pylabber/celery.py
requirements/requirements.txt:celery==4.3.0
requirements/requirements.txt:django-celery-beat==1.4.0

Add DICOM series conversion to NIfTI

The interface should allow configuring the location of dcm2nii or some other conversion program and using it on a DICOM series when needed for an analysis or requested by a user (there should be some kind of button or configuration that creates and keeps a reference for a NIfTI version).

Anonymize viewed data

Browsable data should not include any compromising information, at least for non-admin users.

Testing

Writing tests for current application functionality.

Documentation

Write documentation and usage examples for existing code.

Nipype integration

Nipype should be integrated, possibly by creating another separate application that will constitute a django-based UI. This app should include views and templates for analysis creation and management.

Deploy on AWS

Create an EC2 instance to serve the app as well as an associated RDS using psql and S3 bucket.
We also need load balancing and scaling groups put in place.

Embedding Jupyter notebooks?

In order to allow for easy data exploration, it might be best to simply enable embedding Jupyter notebooks in the study/data/results DetailViews. This StackOverflow response will probably be helpful.

Questionnaire model

Create a questionnaire model and associate it with a Google Forms web address. Add methods for data update and summary.

Pipe and Pipeline models

A pipe should reference a script and manage input and output validation. A pipeline should be some predetermined ordered combination of pipes. Not sure yet how the status/result of each pipe should be stored for future reference.

migrations are broken on headless


Traceback (most recent call last):
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/apps/config.py", line 178, in get_model
    return self.models[model_name.lower()]
KeyError: 'group'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/base.py", line 361, in execute
    self.check()
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/base.py", line 390, in check
    include_deployment_checks=include_deployment_checks,
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 65, in _run_checks
    issues.extend(super()._run_checks(**kwargs))
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/management/base.py", line 377, in _run_checks
    return checks.run_checks(**kwargs)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/checks/registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 23, in check_resolver
    return check_method()
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 398, in check
    for pattern in self.url_patterns:
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 579, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 572, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ubuntu/pylabber/pylabber/urls.py", line 36, in <module>
    path("api/", include("django_mri.urls", namespace="mri")),
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django_mri/urls.py", line 2, in <module>
    from django_mri import views
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django_mri/views.py", line 18, in <module>
    from django_mri.serializers import (
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django_mri/serializers.py", line 11, in <module>
    Group = apps.get_model(app_label=group_app_label, model_name=group_model_name)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/apps/registry.py", line 210, in get_model
    return app_config.get_model(model_name, require_ready=require_ready)
  File "/home/ubuntu/pylabber/venv/lib/python3.6/site-packages/django/apps/config.py", line 181, in get_model
    "App '%s' doesn't have a '%s' model." % (self.label, model_name))
LookupError: App 'research' doesn't have a 'Group' model.
r

can you please fix ? :)

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.