Permalink
Browse files

updated how to

  • Loading branch information...
1 parent b03ef19 commit a46c6d70a1f2e1afc79b87ea2db93c12a897ea21 @neurosnap committed Feb 19, 2014
Showing with 84 additions and 202 deletions.
  1. +83 −201 README.md
  2. +1 −1 dicomdb/settings.py
View
284 README.md
@@ -5,26 +5,6 @@ DCMDB is a DICOM Search Engine and Educational Tool.
This website was developed by Eric Bower . The mission of this service is to create a repository of easy to access, publicly available, anonymous medical diagnotic images. With this repository we also wish to create a social platform for discussion, teaching, and learning.
-Repository
-==========
-
-As a pre-medical student, I found it rather difficult to find a concise location for Digital Imaging and Communications in Medicine (DICOM) files. There was no way to just search through a maryiad of diagnostic files with some pertinent information about the patient when referencing prognosis, diagnosis, and the rationality behind a diagnosis. I feel as though there is a market for an educational tool to assist in the teaching and learning process of diagnostic imaging and the tools required to make judgements on those images. One of my goals with this project is to create a platform that at its base is a repository to store, retrieve anonymous diagnostic data easily and efficiently.
-
-Discussion
-==========
-
-I am a strong proponent of crowd-sourcing, or the act of collaborating with a multiplicity of voluntarily interested people seeking to accomplish some common goal. Why can we not apply this principle to medicine as well? However, there doesn't seem to be an efficient way to receive feedback from an aggregate of physicians. Typically, in my experience, physicians will send their DICOM files to a specific set of people to receive second opinions. While this is an effective approach for most purposes, I am betting that if crowd-sourcing is done properly, we can create an environment where hundreds or thousands of knowledgable people discuss patient DICOM files.
-
-Teaching
-==========
-
-Once we have created a platform for discussion, we can use that discussion as an educational tool for aspiring physicians or even hobbyists. In my opinion, understanding the rationale and critiqueing of any analysis lends itself to wisdom, reason, and progress. When intelligence criticizes intelligence, we reach a level of understanding that is greater than the sum of its parts, because that wisdom can then be applied to other fields of interest.
-
-Learning
-==========
-
-We need to get people interested in medicine to learn about the reality of that career path earlier in their lives. I think it is a shame that as a pre-medical student in Neuroscience, we barely learned about the actual day-to-day happenings of a career in medicine. Why is it we have to wait until medical school to learn about and how to properly observe diagnostic tools such as DICOMs?
-
Contributing
==========
@@ -45,145 +25,90 @@ You should have received a copy of the GNU General Public License
along with dcmdb. If not, see <http://www.gnu.org/licenses/>.
```
-Volunteers are welcome to help make the service run more efficiently, effectively. This project was developed in Python, the Django framework, and Postgresql. The production server is hosted by Amazon on an Ubuntu EC2 virtualized server. It uses gunicorn as the WSGI HTTP Server and nginx as the Proxy HTTP Server.
+Volunteers are welcome to help make the service run more efficiently, effectively.
+This project was developed in Python, the Django framework, and Postgresql.
+The production server is hosted by Amazon on an Ubuntu EC2 virtualized server.
+It uses gunicorn as the WSGI HTTP Server and nginx as the Proxy HTTP Server.
-It should be noted that the development environment defaults to sqlite3.
+INSTALL
+=========
-#### HOW TO DEVELOP ON DEBIAN-DIST (UBUNTU)
+Windows
+---------
-```
-$ apt-get update
-$ apt-get upgrade
-$ apt-get install python-pip
-$ pip install virtualenv
-$ mkdir ~/.virtualenvs
-$ pip install virtualenvwrapper
-$ vim ~/.bash_profile
-```
+##### Download DCMDB
-in .bash_profile
-```
-export WORKON_HOME=~/.virtualenvs
-/usr/local/bin/virtualenvwrapper.sh
-```
+SSH: git@github.com:neurosnap/dcmdb.git
+HTTPS: https://github.com/neurosnap/dcmdb.git
-Make a virtualenv
```
-$ mkvirtualenv dcmdb
+$ git clone git@github.com:neurosnap/dcmdb.git
+$ cd dcmdb
```
-Start working on a virtualenv (after mkvirtualenv it usually loads right into the virt)
+Download: https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
+Install setuptools
+
+##### setuptools
```
-$ workon dcmdb
+$ cd /path/to/ez_setup.py
+$ python ez_setup.py install
```
-deactivate virtualenv (just an example, dont do this now)
+##### Install PIP
```
-$ deactivate
+$ easy_install pip
```
-Now install python dependencies
+##### Install the rest of the dependencies that actually work through PIP
```
-$ pip install -r ./conf/dependencies.txt
+$ pip install -r dependencies.txt
```
dependencies.txt
```
Django==1.5.4
-Pillow==2.2.1
South==0.8.2
-gunicorn==18.0
-matplotlib==1.3.0
-nose==1.3.0
-numpy==1.7.1
psycopg2==2.5.1
+argparse==1.2.1
+nose==1.3.0
pydicom==0.9.8
pyparsing==2.0.1
python-dateutil==2.1
-setproctitle==1.1.8
six==1.4.1
-tornado==3.1.1
+bleach==1.2.2
+html5lib==0.95
yolk==0.4.3
```
-##### HOW TO INSTALL GDCM
-
-###### PRE-REQS
-
-```
-apt-get install cmake-curses-gui
-apt-get install libpcre3 libpcre3-dev
-```
-
-###### SWIG
-
- * Download the latest version of SWIG
- * Extract compressed file e.g. swig-2.0.11
-
-```
-$ cd swig-2.0.11
-$ ./configure
-$ make
-$ make install
-```
-
-###### GDCM
-
- * Download the latest version of GDCM
- * Extract compressed file e.g. gdcm.tar.bz2
-
-```
-$ mkdir gdcm-build
-$ cd gdcm
-$ rm CMakeCache.txt
-$ cd ../gdcm-build
-$ ccmake ../gdcm
-```
-
- * Screen will come up,
- * Press [T] to go to advanced mode
- * SET CMAKE\_C\_FLAGS to -fPIC
- * SET CMAKE\_CXX\_FLAGS to -fPIC [Could be optional]
- * Press [C] to configure
- * SET GDCM\_WRAP\_PYTHON to ON
- * [G] to generate
-
-```
-$ make
-$ make install
-```
-
-###### Git
-
-```
-$ apt-get install git-core
-```
+##### Install Postgresql
-##### Download DCMDB
+http://www.postgresql.org/download/windows/
-SSH: git@github.com:neurosnap/dcmdb.git
-HTTPS: https://github.com/neurosnap/dcmdb.git
+Set password for "postgres" user
+Open pgAdmin III
+Connect to PostgreSQL
+Create database "dcmdb" set owner to "postgres"
-```
-$ git clone git@github.com:neurosnap/dcmdb.git
-$ cd dcmdb
-```
+##### Set up local django settings file
Create dicomdb/settings_dev.py file
```
DATABASES = {
- "default": {
- "ENGINE": "django.db.backends.postgresql_psycopg2",
- "NAME": "dcmdb",
- "USER": "postgres",
- "PASSWORD": ""
- }
+ "default": {
+ "ENGINE": "django.db.backends.postgresql_psycopg2",
+ "NAME": "dcmdb",
+ "USER": "postgres",
+ "PASSWORD": ""
+ }
}
EMAIL_HOST_USER = ''
EMAIL_PASS = ''
```
+##### Run
+
```
$ python manage.py syncdb
$ python manage.py migrate
@@ -203,111 +128,66 @@ If you get an error like "GROUP not found" when going to /users:
Done!
-#### HOW TO DEVELOP ON WINDOWS (Get ready for hell)
-
-##### Install msysgit 32bit (must be 32bit)
-I chose msysgit because nothing that is preinstalled with cygwin worked
-for me very well. It was a living nightmare getting everything syncd using cygwin.
+HOW TO DEVELOP ON DEBIAN-DIST (UBUNTU)
+---------
-##### Install python 2.7
+```
+$ apt-get update
+$ apt-get upgrade
+$ apt-get install python-pip
+$ pip install virtualenv
+$ mkdir ~/.virtualenvs
+$ pip install virtualenvwrapper
+$ vim ~/.bash_profile
+```
-Add C:/Python27;C:/Python27/Scripts;C:/Python27/Lib;C:/Python27/DLLs; to environmental variables
+in .bash_profile
+```
+export WORKON_HOME=~/.virtualenvs
+/usr/local/bin/virtualenvwrapper.sh
+```
-Download: https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
-Install setuptools
+Make a virtualenv
+```
+$ mkvirtualenv dcmdb
+```
-##### setuptools
+Start working on a virtualenv (after mkvirtualenv it usually loads right into the virt)
```
-$ cd /path/to/ez_setup.py
-$ python ez_setup.py install
+$ workon dcmdb
```
-##### Install PIP
+deactivate virtualenv (just an example, dont do this now)
```
-$ easy_install pip
+$ deactivate
```
-##### Install the rest of the dependencies that actually work through PIP
+Now install python dependencies
```
-$ pip install -r dependencies.txt
+$ pip install -r ./conf/dependencies.txt
```
dependencies.txt
```
Django==1.5.4
+Pillow==2.2.1
South==0.8.2
-argparse==1.2.1
nose==1.3.0
+psycopg2==2.5.1
pydicom==0.9.8
pyparsing==2.0.1
python-dateutil==2.1
+setproctitle==1.1.8
six==1.4.1
-tornado==3.1.1
-bleach==1.2.2
-html5lib==0.95
yolk==0.4.3
```
-##### Install matplotlib 32 bit v1.3.1+ via installer
-
- * http://matplotlib.org/downloads.html
-
-##### Install numpy via installer
-
-##### Install pillow via installer
-
-##### Install gdcm v2.4.0+ via installer
-
- * http://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%202.4.0/
-
-Add C:/Program Files (x86)/GDCM 2.4.0/bin to envrionmental variables
-
-Move C:/Program Files (x86)/GDCM 2.4.0/ to C:/Python27/Lib/site-packages
- * _gdcmswig.pyd
- * gdcm.py
- * gdcmswig.py
-
-##### Install Postgresql
-
-http://www.postgresql.org/download/windows/
-
-Set password for "postgres" user
-Open pgAdmin III
-Connect to PostgreSQL
-Create database "dcmdb" set owner to "postgres"
-
-###### Install psycopg2
-
-I had to download MINGW to install psycopg2.
-
-###### Install MINGW with gcc and g++
-
- * http://sourceforge.net/projects/mingw/files/
-
-###### Configure MINGW
-
- * Add C:\MinGW\bin to PATH environment variable
- * Create distutils.cfg in C:\Python27\Lib\distutils
-
-distutils.cfg
-```
-[build]
-
-compiler=mingw32
-```
-
- * Open cygwinccompiler.py in the same directory
- * FIND/REPLACE all "-mno-cygwin" with blank ""
- * SAVE
-
-Open msysgit
+##### Download DCMDB
-```
-$ pip install psycopg2
-```
+SSH: git@github.com:neurosnap/dcmdb.git
+HTTPS: https://github.com/neurosnap/dcmdb.git
-##### Download DCMDB
```
$ git clone git@github.com:neurosnap/dcmdb.git
$ cd dcmdb
@@ -316,18 +196,20 @@ $ cd dcmdb
Create dicomdb/settings_dev.py file
```
DATABASES = {
- "default": {
- "ENGINE": "django.db.backends.postgresql_psycopg2",
- "NAME": "dcmdb",
- "USER": "postgres",
- "PASSWORD": ""
- }
+ "default": {
+ "ENGINE": "django.db.backends.postgresql_psycopg2",
+ "NAME": "dcmdb",
+ "USER": "postgres",
+ "PASSWORD": ""
+ }
}
EMAIL_HOST_USER = ''
EMAIL_PASS = ''
```
+##### Run
+
```
$ python manage.py syncdb
$ python manage.py migrate
@@ -345,4 +227,4 @@ If you get an error like "GROUP not found" when going to /users:
* Add Group "email_validated"
* Save
-Done!
+Done!
Oops, something went wrong.

0 comments on commit a46c6d7

Please sign in to comment.