Skip to content

Commit

Permalink
Updated read
Browse files Browse the repository at this point in the history
  • Loading branch information
neurolabusc committed Oct 6, 2016
1 parent e19cde4 commit 26cb1e3
Show file tree
Hide file tree
Showing 7 changed files with 177 additions and 154 deletions.
40 changes: 32 additions & 8 deletions Readme.txt → README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,72 @@
# MRIcron / NPM / dcm2nii

##### About

MRIcron is a viewer for brain imaging data. NPM is a tool for non parametric analysis of neuroimaging lesion data. dcm2nii is designed for converting the complicated DICOM format used in medical imaging to the simple NIfTI format preferred by scientists. These tools are mature and hopefully robust but no longer in active development.
- MRIcron development has moved to [MRIcroGL](https://github.com/neurolabusc/MRIcroGL)
- NPM development has been moved to [NiiStat](https://github.com/neurolabusc/NiiStat)
- dcm2nii development has been moved to [dcm2niix](https://github.com/neurolabusc/dcm2niix)

##### Downloading compiled software

- The latest stable version is released at [NITRC](https://www.nitrc.org/projects/mricron)

##### Recent Versions

2-May-2016
- MRIcron : Improved ability to copy images to clipboard
- NPM : Permutation thresholds in previous versions were not completely random, while the influence of this was typically negligible when images were listed in random order, this could make the thresholds slightly more liberal or conservative if the images listed in a sorted manner (e.g. lesion size, behavioral deficit). This new version revamps the randomization process, including using the [random number generator described by Marsaglia Zaman](http://paulbourke.net/miscellaneous/random/). Permutation thresholds are now more robust, albeit slower. THe enhanced 64-bit version allows the user to select more threads, which can accelerate the software (assuming your computer has more CPUs).

##### License

This software includes a [BSD license](https://opensource.org/licenses/BSD-2-Clause)

##### Compiling your own software

This is a beta release of MRIcron. You can compile this using Lazarus. It has been compiled on Windows, Linux-x86, OSX-x86 and OSX-PPC. It requires builds of Lazarus and FreePascal created after October 7, 2007.
http://www.hu.freepascal.org/lazarus/

-------------------------------------------
To compile for OSX [Carbon] -
To compile for OSX [Carbon] -
1.) Launch Lazarus and open the project.
2.) Select Project/CompilerOptions
Paths tab: make sure the "LCL widget type" is set to "carbon"
Linking tab: make sure the "Pass options to linker" checkbox is selected and
set the text to "-framework carbon" (no quotes).
3.) Select Project/ProjectOptions and set "Use application bundle for running and debugging"
4.) If using OSX 10.5 or later, add to Project / Compiler options / Other / Custom options:
4.) If using OSX 10.5 or later, add to Project / Compiler options / Other / Custom options:
-k-macosx_version_min -k10.4
-XR/Developer/SDKs/MacOSX10.4u.sdk/
Alternative: Project/ProjectOptions/Linking/ Check 'pass options to linker' and add this line -macosx_version_min 10.4
5.) For debugging, you will want to create an alias from the application folder to the compiled executable:
The exact value will depend on your paths, but it will be similar to this:
The exact value will depend on your paths, but it will be similar to this:
rm ~/Documents/mricron/mricron.app/mricron
ln -s ~/Documents/mricron/mricron ~/Documents/mricron/mricron.app/mricron
rm ~/Documents/mricron/npm/npm.app/npm
ln -s ~/Documents/mricron/npm/npm ~/Documents/mricron/npm/npm.app/npm
rm ~/Documents/mricron/dcm2nii/dcm2niigui.app/dcm2niigui
ln -s ~/Documents/mricron/dcm2nii/dcm2niigui ~/Documents/mricron/dcm2nii/dcm2niigui.app/dcm2niigui

6.) Select Run/Run to build and execute your program
7.) For making an executable to distribute, control+click on the program's .app folder (e.g. the file named mricron that has a brain icon) and choose "show package contents" - move the executable generated with Lazarus into the folder, overwriting the symbolic link created in step 4.

-------------------------------------------
To compile for Linux GTK1 -
To compile for Linux GTK1 -
1.) Launch Lazarus and open the project.
2.) Select Project/CompilerOptions
Paths tab: make sure the "LCL widget type" is set to "default [gtk]"
Linking tab: make sure the "Pass options to linker" checkbox is UNCHECKED.
3.) Choose Run/Run to build and execute the program

-------------------------------------------
To compile for Linux GTK2 -
To compile for Linux GTK2 -
1.) Launch Lazarus and open the project.
2.) Select Project/CompilerOptions
Paths tab: make sure the "LCL widget type" is set to "gtk2"
Linking tab: make sure the "Pass options to linker" checkbox is UNCHECKED.
3.) Choose Run/Run to build and execute the program

-------------------------------------------
To compile for Windows -
To compile for Windows -
1.) Launch Lazarus and open the project.
2.) Select Project/CompilerOptions
Paths tab: make sure the "LCL widget type" is set to "default [Win API]"
Expand Down
1 change: 0 additions & 1 deletion common/cpucount.pas
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ function GetLogicalCpuCount: Integer;
end;

{$ELSE} //If UNIX ELSE NOT Unix -> windows
end;

uses Windows;
function GetLogicalCpuCount: Integer;
Expand Down
1 change: 0 additions & 1 deletion npm/LesionStatThds.pas
Original file line number Diff line number Diff line change
Expand Up @@ -652,7 +652,6 @@ procedure TLesionContinuous.Analyze (lttest,lBM: boolean; lnCrit,lnPermute,lThre
lOutImgT^[lPos2Offset] := lT;
lPrevZValsT[lPatternPos] := lT;
end;

if lBM then begin
tBM3 (lnControlsPlusLesion, lLesionOrderp, lSymptomRA,lBMz,lDF, lnGroup0);
//if lBMz > 55 then
Expand Down
106 changes: 53 additions & 53 deletions npm/npm.lpi
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<EditorIndex Value="1"/>
<TopLine Value="1131"/>
<CursorPos X="63" Y="1140"/>
<TopLine Value="1108"/>
<CursorPos X="25" Y="1109"/>
<UsageCount Value="208"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
Expand Down Expand Up @@ -202,10 +202,9 @@
</Unit20>
<Unit21>
<Filename Value="LesionStatThds.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="9"/>
<TopLine Value="629"/>
<CursorPos X="27" Y="630"/>
<CursorPos X="40" Y="633"/>
<UsageCount Value="68"/>
<Loaded Value="True"/>
</Unit21>
Expand Down Expand Up @@ -290,9 +289,10 @@
</Unit34>
<Unit35>
<Filename Value="unpm.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="4"/>
<TopLine Value="1173"/>
<CursorPos X="18" Y="1173"/>
<TopLine Value="92"/>
<CursorPos X="155" Y="111"/>
<UsageCount Value="92"/>
<Loaded Value="True"/>
</Unit35>
Expand Down Expand Up @@ -347,123 +347,123 @@
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="turbolesion.pas"/>
<Caret Line="484" Column="47" TopLine="480"/>
<Filename Value="brunner.pas"/>
<Caret Line="639" Column="20" TopLine="609"/>
</Position1>
<Position2>
<Filename Value="turbolesion.pas"/>
<Caret Line="369" Column="20" TopLine="346"/>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="690" Column="17" TopLine="661"/>
</Position2>
<Position3>
<Filename Value="brunner.pas"/>
<Caret Line="18" Column="24"/>
<Caret Line="32" Column="20" TopLine="23"/>
</Position3>
<Position4>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="542" Column="53" TopLine="532"/>
<Filename Value="brunner.pas"/>
<Caret Line="670" Column="32" TopLine="651"/>
</Position4>
<Position5>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="546" Column="14" TopLine="531"/>
<Filename Value="brunner.pas"/>
<Caret Line="19" Column="32"/>
</Position5>
<Position6>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="557" Column="29" TopLine="538"/>
<Filename Value="brunner.pas"/>
<Caret Line="20" Column="27"/>
</Position6>
<Position7>
<Filename Value="brunner.pas"/>
<Caret Line="639" Column="20" TopLine="609"/>
<Caret Line="21" Column="28"/>
</Position7>
<Position8>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="690" Column="17" TopLine="661"/>
<Filename Value="brunner.pas"/>
<Caret Line="89" Column="29" TopLine="57"/>
</Position8>
<Position9>
<Filename Value="brunner.pas"/>
<Caret Line="32" Column="20" TopLine="23"/>
<Caret Line="668" Column="31" TopLine="636"/>
</Position9>
<Position10>
<Filename Value="brunner.pas"/>
<Caret Line="670" Column="32" TopLine="651"/>
<Caret Line="22" Column="28"/>
</Position10>
<Position11>
<Filename Value="brunner.pas"/>
<Caret Line="19" Column="32"/>
<Caret Line="101" Column="28" TopLine="69"/>
</Position11>
<Position12>
<Filename Value="brunner.pas"/>
<Caret Line="20" Column="27"/>
<Caret Line="110" Column="31" TopLine="79"/>
</Position12>
<Position13>
<Filename Value="brunner.pas"/>
<Caret Line="21" Column="28"/>
<Caret Line="126" Column="26" TopLine="95"/>
</Position13>
<Position14>
<Filename Value="brunner.pas"/>
<Caret Line="89" Column="29" TopLine="57"/>
<Caret Line="127" Column="26" TopLine="96"/>
</Position14>
<Position15>
<Filename Value="brunner.pas"/>
<Caret Line="668" Column="31" TopLine="636"/>
<Caret Line="140" Column="44" TopLine="109"/>
</Position15>
<Position16>
<Filename Value="brunner.pas"/>
<Caret Line="22" Column="28"/>
<Caret Column="35"/>
</Position16>
<Position17>
<Filename Value="brunner.pas"/>
<Caret Line="101" Column="28" TopLine="69"/>
<Caret Line="14" Column="15"/>
</Position17>
<Position18>
<Filename Value="brunner.pas"/>
<Caret Line="110" Column="31" TopLine="79"/>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="47" Column="68" TopLine="42"/>
</Position18>
<Position19>
<Filename Value="brunner.pas"/>
<Caret Line="126" Column="26" TopLine="95"/>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="724" Column="48" TopLine="694"/>
</Position19>
<Position20>
<Filename Value="brunner.pas"/>
<Caret Line="127" Column="26" TopLine="96"/>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="542" Column="16" TopLine="524"/>
</Position20>
<Position21>
<Filename Value="brunner.pas"/>
<Caret Line="140" Column="44" TopLine="109"/>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="632" Column="50" TopLine="630"/>
</Position21>
<Position22>
<Filename Value="brunner.pas"/>
<Caret Column="35"/>
<Filename Value="LesionStatThds.pas"/>
</Position22>
<Position23>
<Filename Value="brunner.pas"/>
<Caret Line="14" Column="15"/>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="3" Column="126"/>
</Position23>
<Position24>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="47" Column="68" TopLine="42"/>
<Caret Line="562" Column="7" TopLine="528"/>
</Position24>
<Position25>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="724" Column="48" TopLine="694"/>
<Filename Value="npmform.pas"/>
<Caret Line="1133" Column="13" TopLine="1131"/>
</Position25>
<Position26>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="542" Column="16" TopLine="524"/>
<Filename Value="npmform.pas"/>
<Caret Line="1140" Column="35" TopLine="1131"/>
</Position26>
<Position27>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="632" Column="50" TopLine="630"/>
<Filename Value="npmform.pas"/>
<Caret Line="377" Column="34" TopLine="358"/>
</Position27>
<Position28>
<Filename Value="LesionStatThds.pas"/>
<Filename Value="npmform.pas"/>
<Caret Line="1140" Column="35" TopLine="1108"/>
</Position28>
<Position29>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="3" Column="126"/>
<Filename Value="npmform.pas"/>
<Caret Line="377" Column="34" TopLine="358"/>
</Position29>
<Position30>
<Filename Value="LesionStatThds.pas"/>
<Caret Line="562" Column="7" TopLine="528"/>
<Filename Value="unpm.pas"/>
<Caret Line="1173" Column="3" TopLine="1173"/>
</Position30>
</JumpHistory>
</ProjectOptions>
Expand Down
13 changes: 7 additions & 6 deletions npm/npmform.lfm
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ object MainForm: TMainForm
Left = 468
Height = 418
Top = 213
Width = 542
Width = 640
ActiveControl = Memo1
Caption = 'Non-Parametric Mapping'
ClientHeight = 418
ClientWidth = 542
ClientWidth = 640
Menu = MainMenu1
OnClose = FormClose
OnCreate = FormCreate
Expand All @@ -17,25 +17,26 @@ object MainForm: TMainForm
Left = 0
Height = 393
Top = 0
Width = 542
Width = 640
Align = alClient
ScrollBars = ssAutoBoth
TabOrder = 0
WordWrap = False
end
object Panel1: TPanel
Left = 0
Height = 25
Top = 393
Width = 542
Width = 640
Align = alBottom
ClientHeight = 25
ClientWidth = 542
ClientWidth = 640
TabOrder = 1
object ProgressBar1: TProgressBar
Left = 1
Height = 23
Top = 1
Width = 540
Width = 638
Align = alClient
TabOrder = 0
end
Expand Down
Loading

0 comments on commit 26cb1e3

Please sign in to comment.