diff --git a/.gitignore b/.gitignore index cefa54a..b425e60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Distribution / packaging .Python env/ +venv/ build/ develop-eggs/ dist/ @@ -27,4 +28,4 @@ generic_uploader/__pycache__/ *.spec # other stuff: -*.log \ No newline at end of file +*.log diff --git a/bids_manager.desktop b/bids_manager.desktop new file mode 100644 index 0000000..5cccfe6 --- /dev/null +++ b/bids_manager.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=BIDSManager +Icon=/usr/local/share/icons/bids_manager.ico +Exec=bids_manager +Terminal=false +Categories=Utility;Science;MedicalSoftware; diff --git a/bids_manager/__init__.py b/bids_manager/__init__.py new file mode 100644 index 0000000..6465a7a --- /dev/null +++ b/bids_manager/__init__.py @@ -0,0 +1,4 @@ +from .bids_manager import * + +def main(): + run_app() \ No newline at end of file diff --git a/bids_manager.py b/bids_manager/bids_manager.py similarity index 99% rename from bids_manager.py rename to bids_manager/bids_manager.py index 90b3fe7..71f6d79 100644 --- a/bids_manager.py +++ b/bids_manager/bids_manager.py @@ -34,7 +34,7 @@ from builtins import str from builtins import object from future import standard_library -import ins_bids_class as bids +import bids_manager.ins_bids_class as bids import os import platform from generic_uploader.generic_uploader import call_generic_uplader @@ -57,7 +57,7 @@ class BidsManager(Frame, object): # !!!!!!!!!! object is used to make the class bids_startfile = '' import_startfile = '' - def __init__(self, monitor_width, monitor_height): + def __init__(self, root, monitor_width, monitor_height): super().__init__() self.monitor_width = monitor_width self.monitor_height = monitor_height @@ -3305,7 +3305,7 @@ def make_splash(): return splash + ['Version ' + BidsManager.version] -if __name__ == '__main__': +def run_app(): from time import sleep splsh = make_splash() @@ -3323,7 +3323,7 @@ def make_splash(): width = root.winfo_screenwidth() height = root.winfo_screenheight() root.option_add("*Font", "10") - my_gui = BidsManager(width, height) + my_gui = BidsManager(root, width, height) root.protocol("WM_DELETE_WINDOW", my_gui.close_window) if not bids.BidsBrick.curr_user.lower() == 'jegou': if platform.system() == 'Windows': @@ -3337,3 +3337,6 @@ def make_splash(): # root.update() # root.deiconify() root.mainloop() + +if __name__ == '__main__': + run_app() \ No newline at end of file diff --git a/brainvision_hdr.py b/bids_manager/brainvision_hdr.py similarity index 100% rename from brainvision_hdr.py rename to bids_manager/brainvision_hdr.py diff --git a/ins_bids_class.py b/bids_manager/ins_bids_class.py similarity index 99% rename from ins_bids_class.py rename to bids_manager/ins_bids_class.py index b0befee..913a110 100644 --- a/ins_bids_class.py +++ b/bids_manager/ins_bids_class.py @@ -37,7 +37,7 @@ from sys import argv, modules, exc_info #from sys import modules import json -import brainvision_hdr as bv_hdr +import bids_manager.brainvision_hdr as bv_hdr from datetime import datetime import pprint import gzip diff --git a/generic_uploader/__init__.py b/generic_uploader/__init__.py new file mode 100644 index 0000000..c6a1725 --- /dev/null +++ b/generic_uploader/__init__.py @@ -0,0 +1 @@ +from generic_uploader import * \ No newline at end of file diff --git a/generic_uploader/generic_uploader.py b/generic_uploader/generic_uploader.py index cbc30cf..769c5d6 100644 --- a/generic_uploader/generic_uploader.py +++ b/generic_uploader/generic_uploader.py @@ -40,7 +40,7 @@ from generic_uploader.anonymizeDicom import anonymize as anonymize_dcm # import pysftp # import paramiko -import ins_bids_class +import bids_manager.ins_bids_class from generic_uploader import patient_requirements_class from generic_uploader.modality_gui import ModalityGui from generic_uploader.import_by_modality import import_by_modality diff --git a/generic_uploader/import_by_modality.py b/generic_uploader/import_by_modality.py index 11e037b..315d2e7 100644 --- a/generic_uploader/import_by_modality.py +++ b/generic_uploader/import_by_modality.py @@ -22,7 +22,7 @@ from PyQt5 import QtWidgets import os -import ins_bids_class +import bids_manager.ins_bids_class from generic_uploader.meg_import_dialog import MegImportDialog diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..884e4db --- /dev/null +++ b/setup.py @@ -0,0 +1,36 @@ +from setuptools import setup, find_packages +from os import path + +here = path.abspath(path.dirname(__file__)) + +setup( + name='bids-manager', + version='0.2.5', + zip_safe=False, + url='https://github.com/LREN-CHUV/data-tracking', + description='Extract meta-data from DICOM and NIFTI files', + author='Roehri', + license='GPL 3.0', + packages=find_packages(), + keywords='bids mri dicom nifti eeg ieeg', + install_requires=[ + 'QtPy', + 'pydicom', + 'future', + ], + include_package_data=True, + data_files = [ + ('share/applications', ['bids_manager.desktop']), + ('share/icons', ['bids_manager.ico']), + ('.', ['Tutorial_BIDS_Manager.pdf']), + ], + entry_points={'console_scripts': ['bids_manager=bids_manager:main']}, + classifiers=( + 'Intended Audience :: Developers', + 'Intended Audience :: Science/Research', + 'Operating System :: Unix', + 'License :: OSI Approved :: Gnu General Public License 3.0', + 'Topic :: Scientific/Engineering :: Bio-Informatics', + 'Programming Language :: Python :: 3 :: Only', + ) +) \ No newline at end of file