CBICA / BrainMaGe

Brain extraction in presence of abnormalities, using single and multiple MRI modalities
Other
32 stars 7 forks source link

Does this project support running on win10 system? #11

Open ljljlj02 opened 2 years ago

ljljlj02 commented 2 years ago

What changes would be required if the project were to run on Windows 10?

sarthakpati commented 2 years ago

Nothing, this should work on Windows.

ljljlj02 commented 2 years ago

This is my first time using the git command(my system is Win10). After I download git software, I run git clone https://github.com/CBICA/BrainMaGe.git successfully。 But when I execute the XXX command git lfs pull,The following error was encountered `Error updating the git index: (0/2), 148 MB | 23 KB/s error: BrainMaGe/init.py: cannot add to the index - missing --add option? fatal: Unable to process path BrainMaGe/init.py

Errors logged to C:\Users\x\BrainMaGe.git\lfs\logs\20211105T170409.6038543.log Use git lfs logs last to view the log. batch response: Post "https://github.com/CBICA/BrainMaGe.git/info/lfs/objects/batch": read tcp 192.xxx.xxx.6:58853->20.205.243.xxx:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. cannot write data to tempfile "C:\Users\x\BrainMaGe\.git\lfs\incomplete\7eff7f10d541c5f2204b6e3882ea1070698c11e10a3d77918589692e36e0cf1c4123608929": LFS: read tcp 192.xxx.xxx.6:59111->185.xxx.xxx.xxx:443: i/o timeout error: failed to fetch some objects from 'https://github.com/CBICA/BrainMaGe.git/info/lfs' ` I don't know what went wrong. Any help would be greatly appreciated.

sarthakpati commented 2 years ago

Hey,

I am able to run the same instructions:

(base) PS C:\Users\tester> cd .\Downloads\test_brainmage\
(base) PS C:\Users\tester\Downloads\test_brainmage> git clone https://github.com/CBICA/BrainMaGe.git
Cloning into 'BrainMaGe'...
remote: Enumerating objects: 1009, done.
remote: Counting objects: 100% (291/291), done.
remote: Compressing objects: 100% (195/195), done.
remote: Total 1009 (delta 170), reused 183 (delta 96), pack-reused 718
Receiving objects: 100% (1009/1009), 241.65 KiB | 3.36 MiB/s, done.
Resolving deltas: 100% (614/614), done.
(base) PS C:\Users\tester\Downloads\test_brainmage> cd BrainMaGe
(base) PS C:\Users\tester\Downloads\test_brainmage\BrainMaGe> git lfs pull
(base) PS C:\Users\tester\Downloads\test_brainmage\BrainMaGe> conda env create -f requirements.yml
Collecting package metadata (repodata.json): done

Have you installed Git-LFS? If not, can you install and try the command once again?

ljljlj02 commented 2 years ago

I downloaded git-lfs and executed the following command at Git Bash: `x@DESKTOP-xxx MINGW64 ~/BrainMaGe (master) $ git lfs install Updated git hooks. Git LFS initialized.

x@DESKTOP-xxx MINGW64 ~/BrainMaGe (master) $ git lfs pull Downloading LFS objects: 0% (0/1), 30 MB | 33 KB/s Downloading LFS objects: 0% (0/1), 30 MB | 33 KB/s

Downloading LFS objects: 0% (0/1), 38 MB | 14 KB/s

Error updating the git index: (0/1), 65 MB | 13 KB/s error: BrainMaGe/init.py: cannot add to the index - missing --add option? fatal: Unable to process path BrainMaGe/init.py

Errors logged to xxx\BrainMaGe.git\lfs\logs\20211106T140903.7362199.log Use git lfs logs last to view the log. batch response: Post "https://github.com/CBICA/BrainMaGe.git/info/lfs/objects/batch": dial tcp xx.xxx.x.16xx6:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. error: failed to fetch some objects from 'https://github.com/CBICA/BrainMaGe.git/info/lfs' `

I googled the error and the answer is this: https://github.com/git-lfs/git-lfs/issues/3457 It is a pity that I am not able to solve it. I think the operation mode of your project is similar to PyRadiommics, but it is difficult for me as a novice to operate Git, so I may have to find other ways to remove the skull.

sarthakpati commented 2 years ago

You could try using wget directly:

cd BrainMaGe
wget https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_ma.pt ./BrainMaGe/weights
wget https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_multi_4.pt ./BrainMaGe/weights

Example:

(base) user@cbica-bakas-pc06:/mnt/c/Users/user/Downloads$ wget https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_ma.pt .
--2021-11-06 09:57:24--  https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_ma.pt
Resolving github.com (github.com)... 140.82.112.4
Connecting to github.com (github.com)|140.82.112.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://media.githubusercontent.com/media/CBICA/BrainMaGe/master/BrainMaGe/weights/resunet_ma.pt [following]
--2021-11-06 09:57:24--  https://media.githubusercontent.com/media/CBICA/BrainMaGe/master/BrainMaGe/weights/resunet_ma.pt
Resolving media.githubusercontent.com (media.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.108.133, ...
Connecting to media.githubusercontent.com (media.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33215195 (32M) [application/octet-stream]
Saving to: ‘resunet_ma.pt’

resunet_ma.pt                    100%[==========================================================>]  31.68M  13.3MB/s    in 2.4s

2021-11-06 09:57:27 (13.3 MB/s) - ‘resunet_ma.pt’ saved [33215195/33215195]

--2021-11-06 09:57:27--  http://./
Resolving . (.)... failed: No address associated with hostname.
wget: unable to resolve host address ‘.’
FINISHED --2021-11-06 09:57:29--
Total wall clock time: 5.0s
Downloaded: 1 files, 32M in 2.4s (13.3 MB/s)

This should give you the model weights without using LFS.

jeb2112 commented 10 months ago

I'm trying to get this installed on windows after everything worked fine on linux, but the outcome is quite different. In my case, it is the requirements.yml that fails. A lot of the packages aren't found on conda defaults channel, but when I added conda-forge the solve became intractable, and when I moved those packages to pip then I got hundreds of conflicts. I already re-created the yml file without the build-specific info, but that didn't help. Any thoughts appreciated!

sarthakpati commented 10 months ago

Can you please give details on what you have tried thus far? It would be ideal if you could provide specific commands and their associated outputs.

jeb2112 commented 10 months ago

Certainly, yes. OK so I have windows 10 with anaconda installed, using anaconda prompt.

  1. git clone https://github.com/CBICA/BrainMaGe.git
  2. i pulled the weights files manually with curl, although i had used git lfs successfully on linux
  3. conda env create -f requirements.yml Solving environment: failed ResolvePackageNotFound:
    • pandas==1.0.5=py36h0573a6f_0
    • snappy==1.1.7=hbae5bb6_3
    • fribidi==1.0.5=h7b6447c_0 ... etc
  4. after reading about platform-specific tags, i created a new .yml file from my working linux env like this: conda env export -n brainmage -f newrequirements.yml --no-builds Then back on windows:
  5. conda env create -f newrequirements.yml This gave a similar resolve failure as above, but with much fewer packages.
  6. I tried adding conda-forge channel to the newrequirements.yml, and that picked up another half-dozen packages.
  7. I moved all the missed packages into the pip section of the newrequirements.yml file. Now, the solver appeared to hit a wall with no progress in over 10 minutes. I killed that, removed conda-forge from the list of channels, and moved those half-dozen packages found from conda-forge from the conda section to the pip section.
  8. The solver went farther this time, found no missed packages, but instead now reported conflicts: Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. Examining conflict for pytest-arraydiff pytest-remotedata pytest-doctestplus pytest-astropy-header pytest-openfiles pytest-astropy anaconda: : 302it ... etc 10 more of these lines

That's as far as I got. It seems like something pretty basic (and possibly simple) must be wrong, because everything went so smoothly on linux. If you can spot anything that would be awesome, this tool worked great on linux but my colleagues can only use it on windows.

sarthakpati commented 10 months ago

Can you send the newrequirements.yml file? Also, tagging @Geeks-Sid for further clarification.

sarthakpati commented 10 months ago

Can you send the newrequirements.yml file? Also, tagging @Geeks-Sid for further clarification.

@Geeks-Sid, I am getting the following failure:

(base) PS C:\Projects> git clone https://github.com/CBICA/BrainMaGe.git
Cloning into 'BrainMaGe'...
remote: Enumerating objects: 1230, done.
remote: Counting objects: 100% (143/143), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 1230 (delta 134), reused 125 (delta 125), pack-reused 1087
Receiving objects: 100% (1230/1230), 2.40 MiB | 8.49 MiB/s, done.
Resolving deltas: 100% (772/772), done.
(base) PS C:\Projects> cd .\BrainMaGe\
(base) PS C:\Projects\BrainMaGe> git lfs pull
(base) PS C:\Projects\BrainMaGe> 2), 66 MB | 9.2 MB/s
(base) PS C:\Projects\BrainMaGe> conda env create -f requirements.yml
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound:
  - gevent==1.4.0=py36h7b6447c_0
  - curl==7.69.1=hbc83047_0
  - libxcb==1.13=h1bed415_1
  - zstd==1.4.4=h0b5b093_3
  - numexpr==2.7.1=py36h423224d_0
  - pycrypto==2.6.1=py36h7b6447c_10
  - wrapt==1.12.1=py36h7b6447c_1
  - fontconfig==2.13.0=h9420a91_0
  - ncurses==6.2=he6710b0_1
  - glib==2.63.1=h5a9c865_0
  - libuuid==1.0.3=h1bed415_2
  - scikit-learn==0.23.1=py36h423224d_0
  - sqlalchemy==1.3.17=py36h7b6447c_0
  - lxml==4.5.1=py36hefd8a0e_0
  - pytables==3.6.1=py36h71ec239_0
  - mpc==1.1.0=h10f8cd9_1
  - ujson==1.35=py36h14c3975_0
  - readline==8.0=h7b6447c_0
  - hdf5==1.10.4=hb1b8bf9_0
  - cairo==1.14.12=h8948797_3
  - libffi==3.2.1=hd88cf55_4
  - pyrsistent==0.16.0=py36h7b6447c_0
  - ninja==1.9.0=py36hfd86e86_0
  - sip==4.19.8=py36hf484d3e_0
  - jbig==2.1=hdba287a_0
  - cython==0.29.20=py36he6710b0_0
  - qt==5.9.7=h5867ecd_1
  - yaml==0.1.7=had09818_2
  - pywavelets==1.1.1=py36h7b6447c_0
  - libssh2==1.9.0=h1ba5d50_1
  - pycurl==7.43.0.5=py36h1ba5d50_0
  - mkl-service==2.3.0=py36he904b0f_0
  - ptyprocess==0.6.0=py36_0
  - krb5==1.17.1=h173b8e3_0
  - wurlitzer==2.0.0=py36_0
  - bzip2==1.0.8=h7b6447c_0
  - pcre==8.43=he6710b0_0
  - llvmlite==0.32.1=py36hd408876_0
  - greenlet==0.4.16=py36h7b6447c_0
  - libarchive==3.4.2=h62408e4_0
  - numpy-base==1.18.5=py36hde5b4d6_0
  - immutables==0.14=py36h7b6447c_0
  - gstreamer==1.14.0=hb453b48_1
  - bitarray==1.2.2=py36h7b6447c_0
  - libedit==3.1.20191231=h7b6447c_0
  - cytoolz==0.10.1=py36h7b6447c_0
  - astropy==4.0.1.post1=py36h7b6447c_1
  - gst-plugins-base==1.14.0=hbbd80ab_1
  - secretstorage==3.1.2=py36_0
  - gmp==6.1.2=h6c8ec71_1
  - liblief==0.10.1=he6710b0_0
  - matplotlib-base==3.2.2=py36hef1b27d_0
  - libpng==1.6.37=hbc83047_0
  - markupsafe==1.1.1=py36h7b6447c_0
  - python==3.6.10=hcf32534_1
  - pyqt==5.9.2=py36h05f1152_2
  - cffi==1.14.0=py36h2e261b9_0
  - pycosat==0.6.3=py36h7b6447c_0
  - openssl==1.1.1g=h7b6447c_0
  - pytorch==1.5.1=py3.6_cuda9.2.148_cudnn7.6.3_0
  - mkl_fft==1.1.0=py36h23d657b_0
  - numpy==1.18.5=py36ha1c710e_0
  - unixodbc==2.3.7=h14c3975_0
  - mistune==0.8.4=py36h7b6447c_0
  - zlib==1.2.11=h7b6447c_3
  - icu==58.2=he6710b0_3
  - _anaconda_depends==2020.02=py36_0
  - tk==8.6.10=hbc83047_0
  - bottleneck==1.3.2=py36heb32a55_1
  - zeromq==4.3.1=he6710b0_3
  - pango==1.42.4=h049681c_0
  - pyodbc==4.0.30=py36he6710b0_0
  - libtiff==4.1.0=h2733197_1
  - libsodium==1.0.16=h1bed415_0
  - msgpack-python==1.0.0=py36hfd86e86_1
  - cryptography==2.9.2=py36h1ba5d50_0
  - expat==2.2.6=he6710b0_0
  - scipy==1.4.1=py36h0b6359f_0
  - ripgrep==11.0.2=he32d670_0
  - fastcache==1.1.0=py36h7b6447c_0
  - tbb==2020.0=hfd86e86_0
  - rtree==0.9.4=py36_1
  - xz==5.2.5=h7b6447c_0
  - libspatialindex==1.9.3=he6710b0_0
  - libxml2==2.9.10=he19cac6_1
  - libgcc-ng==9.1.0=hdf63c60_0
  - graphite2==1.3.13=h23475e2_0
  - libstdcxx-ng==9.1.0=hdf63c60_0
  - regex==2020.5.14=py36h7b6447c_0
  - typed-ast==1.4.1=py36h7b6447c_0
  - freetype==2.10.2=h5ab3b9f_0
  - blosc==1.19.0=hd408876_0
  - ld_impl_linux-64==2.33.1=h53a641e_7
  - lazy-object-proxy==1.5.0=py36h7b6447c_0
  - libcurl==7.69.1=h20c2e04_0
  - snappy==1.1.7=hbae5bb6_3
  - libtool==2.4.6=h7b6447c_5
  - ruamel_yaml==0.15.87=py36h7b6447c_0
  - lz4-c==1.9.2=he6710b0_0
  - patchelf==0.11=he6710b0_0
  - brotlipy==0.7.0=py36h7b6447c_1000
  - sqlite==3.32.3=h62c20be_0
  - scikit-image==0.16.2=py36h0573a6f_0
  - get_terminal_size==1.0.0=haa9412d_0
  - gmpy2==2.0.8=py36h10f8cd9_2
  - kiwisolver==1.2.0=py36hfd86e86_0
  - tornado==6.0.4=py36h7b6447c_1
  - jpeg==9b=h024ee3a_2
  - harfbuzz==1.8.8=hffaf4a1_0
  - mpfr==4.0.1=hdf1c602_3
  - mkl_random==1.1.1=py36h0573a6f_0
  - numba==0.49.1=py36h0573a6f_0
  - pyyaml==5.3.1=py36h7b6447c_0
  - mkl==2020.1=217
  - pyzmq==18.1.1=py36he6710b0_0
  - psutil==5.7.0=py36h7b6447c_0
  - statsmodels==0.11.1=py36h7b6447c_0
  - fribidi==1.0.5=h7b6447c_0
  - py-lief==0.10.1=py36h403a769_0
  - intel-openmp==2020.1=217
  - lzo==2.10=h7b6447c_2
  - pillow==7.1.2=py36hb39fc2d_0
  - pandas==1.0.5=py36h0573a6f_0
  - libgfortran-ng==7.3.0=hdf63c60_0
  - pixman==0.38.0=h7b6447c_0
  - h5py==2.10.0=py36h7918eee_0
  - dbus==1.13.14=hb2f20db_0
jeb2112 commented 10 months ago

Yes here it is.

name: brainmage
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1
  - alabaster=0.7.12
  - anaconda=custom
  - anaconda-client=1.7.2
  - anaconda-project=0.8.4
  - argh=0.26.2
  - asn1crypto=1.3.0
  - astroid=2.3.3
  - astropy=4.0.1.post1
  - atomicwrites=1.4.0
  - attrs=19.3.0
  - autopep8=1.4.3
  - babel=2.8.0
  - backcall=0.2.0
  - backports=1.0
  - backports.shutil_get_terminal_size=1.0.0
  - beautifulsoup4=4.9.1
  - bitarray=1.2.2
  - bkcharts=0.2
  - blas=1.0
  - bleach=3.1.5
  - blosc=1.19.0
  - bokeh=2.1.0
  - boto=2.49.0
  - bottleneck=1.3.2
  - brotlipy=0.7.0
  - bzip2=1.0.8
  - ca-certificates=2020.1.1
  - cairo=1.14.12
  - certifi=2020.6.20
  - cffi=1.14.0
  - chardet=3.0.4
  - click=7.1.2
  - cloudpickle=1.4.1
  - clyent=1.2.2
  - colorama=0.4.3
  - contextlib2=0.6.0.post1
  - contextvars=2.4
  - cryptography=2.9.2
  - cudatoolkit=9.2
  - curl=7.69.1
  - cycler=0.10.0
  - cython=0.29.20
  - cytoolz=0.10.1
  - dask=2.19.0
  - dask-core=2.19.0
  - decorator=4.4.2
  - defusedxml=0.6.0
  - diff-match-patch=20181111
  - distributed=2.19.0
  - docutils=0.16
  - entrypoints=0.3
  - et_xmlfile=1.0.1
  - fastcache=1.1.0
  - filelock=3.0.12
  - flake8=3.7.9
  - flask=1.1.2
  - freetype=2.10.2
  - fsspec=0.7.4
  - future=0.18.2
  - get_terminal_size=1.0.0
  - gevent=1.4.0
  - glob2=0.7
  - gmpy2=2.0.8
  - greenlet=0.4.16
  - h5py=2.10.0
  - hdf5=1.10.4
  - heapdict=1.0.1
  - html5lib=1.0.1
  - hypothesis=5.16.1
  - icu=58.2
  - idna=2.9
  - imageio=2.8.0
  - imagesize=1.2.0
  - immutables=0.14
  - importlib-metadata=1.6.1
  - importlib_metadata=1.6.1
  - intel-openmp=2020.1
  - intervaltree=3.0.2
  - ipykernel=5.3.0
  - ipython=7.15.0
  - ipython_genutils=0.2.0
  - ipywidgets=7.5.1
  - isort=4.3.21
  - itsdangerous=1.1.0
  - jdcal=1.4.1
  - jedi=0.15.2
  - jeepney=0.4.3
  - jinja2=2.11.2
  - joblib=0.15.1
  - jpeg=9b
  - json5=0.9.5
  - jsonschema=3.2.0
  - jupyter=1.0.0
  - jupyter_client=6.1.3
  - jupyter_console=6.1.0
  - jupyter_core=4.6.3
  - jupyterlab=2.1.4
  - jupyterlab_server=1.1.5
  - keyring=21.1.1
  - kiwisolver=1.2.0
  - krb5=1.17.1
  - lazy-object-proxy=1.5.0
  - libarchive=3.4.2
  - libcurl=7.69.1
  - libffi=3.2.1
  - liblief=0.10.1
  - libpng=1.6.37
  - libsodium=1.0.16
  - libspatialindex=1.9.3
  - libssh2=1.9.0
  - libtiff=4.1.0
  - libxml2=2.9.10
  - libxslt=1.1.34
  - llvmlite=0.32.1
  - locket=0.2.0
  - lxml=4.5.1
  - lz4-c=1.9.2
  - lzo=2.10
  - markupsafe=1.1.1
  - matplotlib=3.2.2
  - matplotlib-base=3.2.2
  - mccabe=0.6.1
  - mistune=0.8.4
  - mkl=2020.1
  - mkl-service=2.3.0
  - mkl_fft=1.1.0
  - mkl_random=1.1.1
  - mock=4.0.2
  - more-itertools=8.4.0
  - mpc=1.1.0
  - mpfr=4.0.1
  - mpmath=1.1.0
  - msgpack-python=1.0.0
  - multipledispatch=0.6.0
  - nbconvert=5.6.1
  - nbformat=5.0.7

  - networkx=2.4
  - ninja=1.9.0
  - nltk=3.5
  - nose=1.3.7
  - notebook=6.0.3
  - numba=0.49.1
  - numexpr=2.7.1
  - numpy=1.18.5
  - numpy-base=1.18.5
  - numpydoc=1.0.0
  - olefile=0.46
  - openpyxl=3.0.3
  - openssl=1.1.1g
  - packaging=20.4
  - pandas=1.0.5
  - pandoc=2.2.3.2
  - pandocfilters=1.4.2
  - parso=0.5.2
  - partd=1.1.0
  - path=13.1.0
  - path.py=12.4.0
  - pathlib2=2.3.5
  - pathtools=0.1.2
  - patsy=0.5.1
  - pcre=8.43
  - pep8=1.7.1
  - pexpect=4.8.0
  - pickleshare=0.7.5
  - pillow=7.1.2
  - pip=20.1.1
  - pixman=0.38.0
  - pkginfo=1.5.0.1
  - pluggy=0.13.1
  - ply=3.11
  - prometheus_client=0.8.0
  - prompt-toolkit=3.0.5
  - prompt_toolkit=3.0.5
  - psutil=5.7.0
  - ptyprocess=0.6.0
  - py=1.8.2
  - py-lief=0.10.1
  - pycodestyle=2.5.0
  - pycosat=0.6.3
  - pycparser=2.20
  - pycrypto=2.6.1
  - pycurl=7.43.0.5
  - pydocstyle=5.0.2
  - pyflakes=2.1.1
  - pygments=2.6.1
  - pylint=2.4.4
  - pyodbc=4.0.30
  - pyopenssl=19.1.0
  - pyparsing=2.4.7
  - pyqt=5.9.2
  - pyrsistent=0.16.0
  - pysocks=1.7.1
  - pytables=3.6.1
  - pytest=5.4.3
  - pytest-arraydiff=0.3
  - pytest-astropy=0.8.0
  - pytest-astropy-header=0.1.2
  - pytest-doctestplus=0.7.0
  - pytest-openfiles=0.5.0
  - pytest-remotedata=0.3.2
  - python=3.6.10
  - python-dateutil=2.8.1
  - python-jsonrpc-server=0.3.4
  - python-language-server=0.31.10
  - python-libarchive-c=2.9
  - pytorch=1.5.1
  - pytz=2020.1
  - pywavelets=1.1.1
  - pyxdg=0.26
  - pyyaml=5.3.1
  - pyzmq=18.1.1
  - qdarkstyle=2.8.1
  - qt=5.9.7
  - qtawesome=0.7.2
  - qtconsole=4.7.5
  - qtpy=1.9.0
  - regex=2020.5.14
  - requests=2.24.0
  - ripgrep=11.0.2
  - rope=0.17.0
  - rtree=0.9.4
  - ruamel_yaml=0.15.87
  - scikit-image=0.16.2
  - scikit-learn=0.23.1
  - scipy=1.4.1
  - seaborn=0.10.1
  - send2trash=1.5.0
  - setuptools=47.3.1
  - simplegeneric=0.8.1
  - singledispatch=3.4.0.3
  - sip=4.19.8
  - six=1.15.0
  - snappy=1.1.7
  - snowballstemmer=2.0.0
  - sortedcollections=1.2.1
  - sortedcontainers=2.2.2
  - soupsieve=2.0.1
  - sphinx=3.1.1
  - sphinxcontrib=1.0
  - sphinxcontrib-applehelp=1.0.2
  - sphinxcontrib-devhelp=1.0.2
  - sphinxcontrib-htmlhelp=1.0.3
  - sphinxcontrib-jsmath=1.0.1
  - sphinxcontrib-qthelp=1.0.3
  - sphinxcontrib-serializinghtml=1.1.4
  - sphinxcontrib-websupport=1.2.2
  - spyder=4.1.3
  - spyder-kernels=1.9.1
  - sqlalchemy=1.3.17
  - sqlite=3.32.3
  - statsmodels=0.11.1
  - sympy=1.6
  - tbb=2020.0
  - tblib=1.6.0
  - terminado=0.8.3
  - testpath=0.4.4
  - threadpoolctl=2.1.0
  - tk=8.6.10
  - toolz=0.10.0
  - torchvision=0.6.1
  - tornado=6.0.4
  - tqdm=4.46.1
  - traitlets=4.3.3
  - typed-ast=1.4.1
  - typing_extensions=3.7.4.2
  - ujson=1.35
  - unicodecsv=0.14.1
  - urllib3=1.25.9
  - watchdog=0.10.2
  - wcwidth=0.2.4
  - webencodings=0.5.1
  - werkzeug=1.0.1
  - wheel=0.34.2
  - widgetsnbextension=3.5.1
  - wrapt=1.12.1
  - xlrd=1.2.0
  - xlsxwriter=1.2.9
  - xlwt=1.3.0
  - xz=5.2.5
  - yaml=0.1.7
  - yapf=0.29.0
  - zeromq=4.3.1
  - zict=2.0.0
  - zipp=3.1.0
  - zlib=1.2.11
  - zstd=1.4.4
  - pip:
      - jbig=2.1
      - graphite2=1.3.13
      - fribidi=1.0.5
      - libxcb=1.13
      - pango=1.42.4
      - fontconfig=2.13.0
      - libuuid=1.0.3
      - libtool=2.4.6
      - expat=2.2.6
      - _anaconda_depends=2020.02
      - ld_impl_linux-64=2.33.1
      - libedit=3.1.20191231
      - unixodbc=2.3.7
      - patchelf=0.11
      - wurlitzer=2.0.0
      - libstdcxx-ng=9.1.0
      - readline=8.0
      - gst-plugins-base=1.14.0
      - gstreamer=1.14.0
      - libgcc-ng=9.1.0
      - gmp=6.1.2
      - glib=2.63.1
      - libgfortran-ng=7.3.0
      - harfbuzz=1.8.8
      - secretstorage=3.1.2
      - dbus=1.13.14
      - ncurses=6.2      
      - absl-py==0.9.0
      - bids==0.0
      - bids-validator==1.13.1
      - brainmage==1.0.5.dev0
      - cachetools==4.1.0
      - docopt==0.6.2
      - google-auth==1.18.0
      - google-auth-oauthlib==0.4.1
      - grpcio==1.29.0
      - markdown==3.2.2
      - nibabel==3.1.0
      - num2words==0.5.13
      - oauthlib==3.1.0
      - protobuf==3.12.2
      - pyasn1==0.4.8
      - pyasn1-modules==0.2.8
      - pybids==0.11.1
      - pytorch-lightning==0.8.1
      - requests-oauthlib==1.3.0
      - rsa==4.6
      - tensorboard==2.2.2
      - tensorboard-plugin-wit==1.6.0.post3
prefix: /home/jbishop/.conda/envs/brainmage
jeb2112 commented 10 months ago

OK finally managed to puzzle through it. I removed all the version numbers by regexp search and replace, removed about 18 packages not found on windows anaconda from the requirements, and moved 2 that could be found only on pip, from conda to pip. Then once the env created, for setup.py install i had to edit the specified version number in setup.py for scikit-image and ptorch-lightning to match the versions which ended up being downloaded from the unversioned requirements file. Then it finally worked on a test brain extraction.

sarthakpati commented 10 months ago

OK finally managed to puzzle through it. I removed all the version numbers by regexp search and replace, removed about 18 packages not found on windows anaconda from the requirements, and moved 2 that could be found only on pip, from conda to pip. Then once the env created, for setup.py install i had to edit the specified version number in setup.py for scikit-image and ptorch-lightning to match the versions which ended up being downloaded from the unversioned requirements file. Then it finally worked on a test brain extraction.

Hi @jeb2112, this is tremendously useful information. Do you mind putting this as a pull request so that we can record the effort you've put into this as well as ensure others benefit from it? Thank you!

jeb2112 commented 10 months ago

Sorry I'm not actually sure how to make a pull request, I'm sort of a beginner user of github. But here is the modified requirements.yml file, and then the version number changes in setup.py follow from whatever gets downloaded. And I'm not sure if removing packages may have changed anything, I am only using the brain_mage_single_run script.

name: brainmage_noversion
channels:
  - pytorch
  - defaults
dependencies:
  - _anaconda_depends
  - _libgcc_mutex
  - alabaster
  - anaconda
  - anaconda-client
  - anaconda-project
  - argh
  - asn1crypto
  - astroid
  - astropy
  - atomicwrites
  - attrs
  - autopep8
  - babel
  - backcall
  - backports
  - backports.shutil_get_terminal_size
  - beautifulsoup4
  - bitarray
  - bkcharts
  - blas
  - bleach
  - blosc
  - bokeh
  - boto
  - bottleneck
  - brotlipy
  - bzip2
  - ca-certificates
  - cairo
  - certifi
  - cffi
  - chardet
  - click
  - cloudpickle
  - clyent
  - colorama
  - contextlib2
  - contextvars
  - cryptography
  - cudatoolkit
  - curl
  - cycler
  - cython
  - cytoolz
  - dask
  - dask-core
  - decorator
  - defusedxml
  - diff-match-patch
  - distributed
  - docutils
  - entrypoints
  - et_xmlfile
  - expat
  - fastcache
  - filelock
  - flake8
  - flask
  - fontconfig
  - freetype
  - fribidi
  - fsspec
  - future
  - get_terminal_size
  - gevent
  - glib
  - glob2
  - gmpy2
  - graphite2
  - greenlet
  - gst-plugins-base
  - gstreamer
  - h5py
  - harfbuzz
  - hdf5
  - heapdict
  - html5lib
  - hypothesis
  - icu
  - idna
  - imageio
  - imagesize
  - immutables
  - importlib-metadata
  - importlib_metadata
  - intel-openmp
  - intervaltree
  - ipykernel
  - ipython
  - ipython_genutils
  - ipywidgets
  - isort
  - itsdangerous
  - jdcal
  - jedi
  - jeepney
  - jinja2
  - joblib
  - jpeg
  - json5
  - jsonschema
  - jupyter
  - jupyter_client
  - jupyter_console
  - jupyter_core
  - jupyterlab
  - jupyterlab_server
  - keyring
  - kiwisolver
  - krb5
  - lazy-object-proxy
  - libarchive
  - libcurl
  - libffi
  - liblief
  - libpng
  - libsodium
  - libspatialindex
  - libssh2
  - libtiff
  - libxml2
  - libxslt
  - llvmlite
  - locket
  - lxml
  - lz4-c
  - lzo
  - markupsafe
  - matplotlib
  - matplotlib-base
  - mccabe
  - mistune
  - mkl
  - mkl-service
  - mkl_fft
  - mkl_random
  - mock
  - more-itertools
  - mpc
  - mpfr
  - mpmath
  - msgpack-python
  - multipledispatch
  - nbconvert
  - nbformat
  - networkx
  - ninja
  - nltk
  - nose
  - notebook
  - numba
  - numexpr
  - numpy
  - numpy-base
  - numpydoc
  - olefile
  - openpyxl
  - openssl
  - packaging
  - pandas
  - pandoc
  - pandocfilters
  - pango
  - parso
  - partd
  - path
  - path.py
  - pathlib2
  - pathtools
  - patsy
  - pcre
  - pep8
  - pexpect
  - pickleshare
  - pillow
  - pip
  - pixman
  - pkginfo
  - pluggy
  - ply
  - prometheus_client
  - prompt-toolkit
  - prompt_toolkit
  - psutil
  - ptyprocess
  - py
  - py-lief
  - pycodestyle
  - pycosat
  - pycparser
  - pycrypto
  - pycurl
  - pydocstyle
  - pyflakes
  - pygments
  - pylint
  - pyodbc
  - pyopenssl
  - pyparsing
  - pyqt
  - pyrsistent
  - pysocks
  - pytables
  - pytest
  - pytest-arraydiff
  - pytest-astropy
  - pytest-astropy-header
  - pytest-doctestplus
  - pytest-openfiles
  - pytest-remotedata
  - python
  - python-dateutil
  - python-jsonrpc-server
  - python-language-server
  - python-libarchive-c
  - pytorch
  - pytz
  - pywavelets
  - pyxdg
  - pyyaml
  - pyzmq
  - qdarkstyle
  - qt
  - qtawesome
  - qtconsole
  - qtpy
  - regex
  - requests
  - ripgrep
  - rope
  - rtree
  - ruamel_yaml
  - scikit-image
  - scikit-learn
  - scipy
  - seaborn
  - send2trash
  - setuptools
  - simplegeneric
  - singledispatch
  - sip
  - six
  - snappy
  - snowballstemmer
  - sortedcollections
  - sortedcontainers
  - soupsieve
  - sphinx
  - sphinxcontrib
  - sphinxcontrib-applehelp
  - sphinxcontrib-devhelp
  - sphinxcontrib-htmlhelp
  - sphinxcontrib-jsmath
  - sphinxcontrib-qthelp
  - sphinxcontrib-serializinghtml
  - sphinxcontrib-websupport
  - spyder
  - spyder-kernels
  - sqlalchemy
  - sqlite
  - statsmodels
  - sympy
  - tbb
  - tblib
  - terminado
  - testpath
  - threadpoolctl
  - tk
  - toolz
  - torchvision
  - tornado
  - tqdm
  - traitlets
  - typed-ast
  - typing_extensions
  - ujson
  - unicodecsv
  - urllib3
  - watchdog
  - wcwidth
  - webencodings
  - werkzeug
  - wheel
  - widgetsnbextension
  - wrapt
  - xlrd
  - xlsxwriter
  - xlwt
  - xz
  - yaml
  - yapf
  - zeromq
  - zict
  - zipp
  - zlib
  - zstd
  - pip:
      - wurlitzer
      - secretstorage
      - absl-py
      - bids
      - bids-validator
      - cachetools
      - docopt
      - google-auth
      - google-auth-oauthlib
      - grpcio
      - markdown
      - nibabel
      - num2words
      - oauthlib
      - protobuf
      - pyasn1
      - pyasn1-modules
      - pybids
      - pytorch-lightning
      - requests-oauthlib
      - rsa
      - tensorboard
      - tensorboard-plugin-wit
prefix: C:\Users\username\anaconda3\envs\brainmage_noversion
sarthakpati commented 10 months ago

Thanks! Here are the steps for you to put in a PR:

jeb2112 commented 10 months ago

OK I see, I tried that and I think it worked.