Editing Code
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 2: | Line 2: | ||
*Francesco Potortì's fractal programs (Octave, GPL): http://fly.cnuce.cnr.it/software/#fractals | *Francesco Potortì's fractal programs (Octave, GPL): http://fly.cnuce.cnr.it/software/#fractals | ||
== | ==Ecnometrics== | ||
*Michael Creel's Econometrics notes and octave files: http://pareto.uab.es/mcreel/Econometrics/ (try the Econometrics/MyOctaveFiles directory too) | *Michael Creel's Econometrics notes and octave files: http://pareto.uab.es/mcreel/Econometrics/ (try the Econometrics/MyOctaveFiles directory too) | ||
* Ludwig Kanzler's Econometric software (much of it adapted to Octave): | * Ludwig Kanzler's Econometric software (much of it adapted to Octave): | ||
**http://www2.gol.com/users/kanzler/index.htm#L.%20Kanzler:%20Software | **http://www2.gol.com/users/kanzler/index.htm#L.%20Kanzler:%20Software | ||
**Licence: "All rights reserved", Unfree for distributing modified versions | **Licence: "All rights reserved", Unfree for distributing modified versions | ||
==Communications Toolbox== | ==Communications Toolbox== | ||
Line 22: | Line 21: | ||
There are still functions missing or with limitations, and the documentation is not complete. You are therefore welcome to send patches. | There are still functions missing or with limitations, and the documentation is not complete. You are therefore welcome to send patches. | ||
==Various Communications-Related Octave Code== | |||
*Simulate multipath fading channels: http://zeidler.ucsd.edu/~sct/code/20060112_multipath/ | *Simulate multipath fading channels: http://zeidler.ucsd.edu/~sct/code/20060112_multipath/ | ||
==Digital communications in medicine (DICOM)== | ==Digital communications in medicine (DICOM)== | ||
At an early development stage. [http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/dicom/ octave-forge svn] | |||
*Maintainer: Andy Buckle [http://sourceforge.net/sendmessage.php?touser=1760416contact] | |||
*Currently worked on by: Kris Thielemans | |||
* | |||
* | |||
===Supporting library=== | |||
[http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=Main_Page GCDM]. I think the libraries must be built. Getting source with subversion. | |||
svn co https://gdcm.svn.sourceforge.net/svnroot/gdcm/branches/gdcm-2-0 | |||
cmake and g++ are required. create a gdcmbin directory parallel to the gdcm-2-0 directory. Change to gdcmbin and then run cmake (Linux/cygwin). | |||
= | > mkdir gdcmbin | ||
> ls | |||
gdcmbin gdcm-2-0 | |||
> cd gdcmbin | |||
> cmake -DGDCM_BUILD_SHARED_LIBS=ON ../gdcm-2-0/ | |||
This creates a Makefile in your gdcmbin directory. You can easily edit cmake options with "make edit_cache", for example to build applications like gdcmdump. "make help" is also very useful. | |||
make install | |||
On my system, I also had to add this to my ~/.bashrc. | |||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib | |||
Mingw32 is similar. Get openSSL: [http://www.slproweb.com/products/Win32OpenSSL.html Win32 Openssl v1.0.0a Light] | |||
cmake -G "MinGW Makefile" -DGDCM_BUILD_SHARED_LIBS=ON ..\gdcm-2-0 | |||
mingw32-make all | |||
* | ===Features=== | ||
All of these still need work, but they exist, and are usable to some extent. | |||
*dicomdict (load different dict - file follows same format as Matlab's) | |||
*dicominfo (load metadata into octave struct. nasty bug in SQ loading) | |||
*dicomlookup (keyword <-> tag) | |||
*dicomread (load pixel data, 2D or 3D int types. Does not yield colormaps, yet.) | |||
*dicomwrite (only does some 2D int types, ATM. No metadata control, yet) | |||
===Todo=== | |||
* | *dicomanon | ||
*dicomuid | |||
===Questions=== | |||
I don't have a Matlab license available. I would like to make this package compatible with the dicom functions in Matlab's image processing toolbox, as far as possible. | |||
*Octave (and Matlab) stores images (y,x) and DICOM is intrinsically (x,y). Does Matlab transpose images when it loads them? | |||
**matlab reads the data from the dicom file as if it's a raw block of numbers (and then converts if necessary). Therefore, current Octave/dicom behaviour is compatible with matlab. | |||
*I would like people to try m-files that worked with Matlab to let me know of problems. | |||
*(not necessarily) Matlab related: I need examples of odd DICOM files. I have plenty with complex metadata, but I need some with unusual images. | |||
**More than one sample per pixel | |||
**Colour | |||
**Float types | |||
*DA (date) VR: does Matlab turn them into a string? | |||
*if the user supplies metadata (eg HighBit?, BitsStored?) that describe the type of the pixels and this is not in agreement with the type of the image matrix supplied, does Matlab | |||
**silently convert the image pixel type to match the metadata? | |||
**silently convert the metadata to match the pixel type? | |||
**error and do nothing? | |||
*What does dicominfo do when a tag is not in its dictionary: skip it or give error? I was wondering about turning the tag into a variable name, something like Tag_3243_0010. (Matlab 6.5 (2002): Private__3243_0010) | |||
*dicominfo: Items in sequences are not necessarily the same, so cannot be stored in arrays of structs. (Matlab 6.5 (2002): makes nested structs like dcm.RTDoseROISequence?.Item_1.DoseUnits?) |