c_nifti 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +37 -0
  3. data/.rspec +2 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/COPYING +621 -0
  7. data/COPYING.lesser +166 -0
  8. data/Gemfile +4 -0
  9. data/README.md +117 -0
  10. data/Rakefile +6 -0
  11. data/c_nifti.gemspec +31 -0
  12. data/ext/nifticlib/extconf.rb +30 -0
  13. data/ext/nifticlib/include/nifti_image.h +2 -0
  14. data/ext/nifticlib/include/nifti_image_converters.h +3 -0
  15. data/ext/nifticlib/include/nifti_image_dimensions.h +1 -0
  16. data/ext/nifticlib/include/nifti_image_intents.h +1 -0
  17. data/ext/nifticlib/include/nifti_image_metadata.h +1 -0
  18. data/ext/nifticlib/include/nifti_image_quaternions.h +1 -0
  19. data/ext/nifticlib/include/nifti_image_spacings.h +1 -0
  20. data/ext/nifticlib/include/nifti_image_timings.h +1 -0
  21. data/ext/nifticlib/include/nifti_image_transforms.h +1 -0
  22. data/ext/nifticlib/nifti_image.c +169 -0
  23. data/ext/nifticlib/nifti_image_converters.c +65 -0
  24. data/ext/nifticlib/nifti_image_dimensions.c +113 -0
  25. data/ext/nifticlib/nifti_image_intents.c +45 -0
  26. data/ext/nifticlib/nifti_image_metadata.c +133 -0
  27. data/ext/nifticlib/nifti_image_quaternions.c +59 -0
  28. data/ext/nifticlib/nifti_image_spacings.c +87 -0
  29. data/ext/nifticlib/nifti_image_timings.c +66 -0
  30. data/ext/nifticlib/nifti_image_transforms.c +38 -0
  31. data/ext/nifticlib/nifticlib-2.0.0/CMakeLists.txt +140 -0
  32. data/ext/nifticlib/nifticlib-2.0.0/CTestConfig.cmake +13 -0
  33. data/ext/nifticlib/nifticlib-2.0.0/LICENSE +9 -0
  34. data/ext/nifticlib/nifticlib-2.0.0/Makefile +265 -0
  35. data/ext/nifticlib/nifticlib-2.0.0/Makefile.cross_mingw32 +94 -0
  36. data/ext/nifticlib/nifticlib-2.0.0/README +79 -0
  37. data/ext/nifticlib/nifticlib-2.0.0/Testing/CMakeLists.txt +7 -0
  38. data/ext/nifticlib/nifticlib-2.0.0/Testing/Data/ATestReferenceImageForReadingAndWriting.nii.gz +0 -0
  39. data/ext/nifticlib/nifticlib-2.0.0/Testing/Makefile +21 -0
  40. data/ext/nifticlib/nifticlib-2.0.0/Testing/README_regress +50 -0
  41. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/@show.diffs +33 -0
  42. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/@test +80 -0
  43. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/CMakeLists.txt +47 -0
  44. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/bricks_test.sh +32 -0
  45. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/comment_test.sh +65 -0
  46. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/dci_test.sh +46 -0
  47. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/dsets_test.sh +61 -0
  48. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/dts_test.sh +75 -0
  49. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/fetch_data_test.sh +45 -0
  50. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/mod_header_test.sh +60 -0
  51. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/cmake_testscripts/newfiles_test.sh +36 -0
  52. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c01.versions +10 -0
  53. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c02.nt.help +5 -0
  54. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c03.hist +5 -0
  55. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c04.disp.anat0.info +7 -0
  56. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c05.mod.hdr +9 -0
  57. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c06.add.ext +22 -0
  58. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c07.cbl.4bricks +8 -0
  59. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c08.dts.19.36.11 +4 -0
  60. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c09.dts4.compare +9 -0
  61. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c10.dci.ts4 +15 -0
  62. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c10a.dci.run.210 +16 -0
  63. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c11.add.comment +8 -0
  64. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c12.check.comments +7 -0
  65. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c13.check.hdrs +5 -0
  66. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c14.make.dsets +21 -0
  67. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c15.new.files +21 -0
  68. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c16.rand.swap +35 -0
  69. data/ext/nifticlib/nifticlib-2.0.0/Testing/nifti_regress_test/commands/c17.file.case +34 -0
  70. data/ext/nifticlib/nifticlib-2.0.0/Testing/niftilib/CMakeLists.txt +15 -0
  71. data/ext/nifticlib/nifticlib-2.0.0/Testing/niftilib/nifti_test.c +690 -0
  72. data/ext/nifticlib/nifticlib-2.0.0/Testing/niftilib/nifti_test2.c +32 -0
  73. data/ext/nifticlib/nifticlib-2.0.0/Updates.txt +110 -0
  74. data/ext/nifticlib/nifticlib-2.0.0/bin/.gitkeep +0 -0
  75. data/ext/nifticlib/nifticlib-2.0.0/docs/Doxy_nifti.txt +123 -0
  76. data/ext/nifticlib/nifticlib-2.0.0/docs/Doxyfile.ORIG +746 -0
  77. data/ext/nifticlib/nifticlib-2.0.0/examples/CMakeLists.txt +15 -0
  78. data/ext/nifticlib/nifticlib-2.0.0/examples/Makefile +48 -0
  79. data/ext/nifticlib/nifticlib-2.0.0/examples/clib_01_read_write.c +94 -0
  80. data/ext/nifticlib/nifticlib-2.0.0/examples/fsl_api_driver.c +142 -0
  81. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/CMakeLists.txt +32 -0
  82. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/Makefile +29 -0
  83. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/fslio.c +2426 -0
  84. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/fslio.tcl +83 -0
  85. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/imcp +65 -0
  86. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/imglob +59 -0
  87. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/imln +37 -0
  88. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/immv +64 -0
  89. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/imrm +29 -0
  90. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/imtest +53 -0
  91. data/ext/nifticlib/nifticlib-2.0.0/fsliolib/remove_ext +33 -0
  92. data/ext/nifticlib/nifticlib-2.0.0/include/.gitkeep +0 -0
  93. data/ext/nifticlib/nifticlib-2.0.0/nifticdf/CMakeLists.txt +28 -0
  94. data/ext/nifticlib/nifticlib-2.0.0/nifticdf/Makefile +28 -0
  95. data/ext/nifticlib/nifticlib-2.0.0/nifticdf/nifticdf.c +11107 -0
  96. data/ext/nifticlib/nifticlib-2.0.0/niftilib/CMakeLists.txt +33 -0
  97. data/ext/nifticlib/nifticlib-2.0.0/niftilib/Makefile +31 -0
  98. data/ext/nifticlib/nifticlib-2.0.0/niftilib/nifti1_io.c +7509 -0
  99. data/ext/nifticlib/nifticlib-2.0.0/packaging/DevPackage.template +18 -0
  100. data/ext/nifticlib/nifticlib-2.0.0/packaging/nifticlib.spec +62 -0
  101. data/ext/nifticlib/nifticlib-2.0.0/real_easy/nifti1_read_write.c +361 -0
  102. data/ext/nifticlib/nifticlib-2.0.0/utils/CMakeLists.txt +73 -0
  103. data/ext/nifticlib/nifticlib-2.0.0/utils/Makefile +55 -0
  104. data/ext/nifticlib/nifticlib-2.0.0/utils/nifti1_test.c +95 -0
  105. data/ext/nifticlib/nifticlib-2.0.0/utils/nifti_stats.c +95 -0
  106. data/ext/nifticlib/nifticlib-2.0.0/utils/nifti_tool.c +4193 -0
  107. data/ext/nifticlib/nifticlib-2.0.0/utils/nifti_tool.h +163 -0
  108. data/ext/nifticlib/nifticlib-2.0.0/znzlib/CMakeLists.txt +31 -0
  109. data/ext/nifticlib/nifticlib-2.0.0/znzlib/Makefile +33 -0
  110. data/ext/nifticlib/nifticlib-2.0.0/znzlib/znzlib.c +322 -0
  111. data/ext/nifticlib/nifticlib.c +107 -0
  112. data/ext/nifticlib/patches/nifticlib_fpic.patch +13 -0
  113. data/features/read_modify_write.feature +11 -0
  114. data/features/step_definitions/nifti_image_steps.rb +16 -0
  115. data/features/support/env.rb +14 -0
  116. data/features/support/fixtures/sample.nii.gz +0 -0
  117. data/lib/c_nifti.rb +9 -0
  118. data/lib/c_nifti/data.rb +70 -0
  119. data/lib/c_nifti/header.rb +16 -0
  120. data/lib/c_nifti/header_element.rb +13 -0
  121. data/lib/c_nifti/header_element/datatype.rb +49 -0
  122. data/lib/c_nifti/header_element/datatype/base.rb +9 -0
  123. data/lib/c_nifti/header_element/datatype/binary.rb +11 -0
  124. data/lib/c_nifti/header_element/datatype/double.rb +11 -0
  125. data/lib/c_nifti/header_element/datatype/float.rb +11 -0
  126. data/lib/c_nifti/header_element/datatype/long_double.rb +11 -0
  127. data/lib/c_nifti/header_element/datatype/long_long.rb +11 -0
  128. data/lib/c_nifti/header_element/datatype/signed_char.rb +11 -0
  129. data/lib/c_nifti/header_element/datatype/signed_int.rb +11 -0
  130. data/lib/c_nifti/header_element/datatype/signed_short.rb +11 -0
  131. data/lib/c_nifti/header_element/datatype/unsigned_char.rb +11 -0
  132. data/lib/c_nifti/header_element/datatype/unsigned_int.rb +11 -0
  133. data/lib/c_nifti/header_element/datatype/unsigned_long_long.rb +11 -0
  134. data/lib/c_nifti/header_element/datatype/unsigned_short.rb +11 -0
  135. data/lib/c_nifti/header_element/dimensions.rb +53 -0
  136. data/lib/c_nifti/header_element/intents.rb +25 -0
  137. data/lib/c_nifti/header_element/metadata.rb +49 -0
  138. data/lib/c_nifti/header_element/miscellaneous.rb +25 -0
  139. data/lib/c_nifti/header_element/quaternions.rb +33 -0
  140. data/lib/c_nifti/header_element/spacings.rb +45 -0
  141. data/lib/c_nifti/header_element/timings.rb +37 -0
  142. data/lib/c_nifti/header_element/transforms.rb +21 -0
  143. data/lib/c_nifti/image.rb +31 -0
  144. data/lib/c_nifti/version.rb +3 -0
  145. data/lib/nifticlib.rb +1 -0
  146. data/spec/data_spec.rb +112 -0
  147. data/spec/factories/nifti_images.rb +9 -0
  148. data/spec/header_element/datatype/base_spec.rb +9 -0
  149. data/spec/header_element/datatype/binary_spec.rb +9 -0
  150. data/spec/header_element/datatype/double_spec.rb +9 -0
  151. data/spec/header_element/datatype/float_spec.rb +9 -0
  152. data/spec/header_element/datatype/long_double_spec.rb +9 -0
  153. data/spec/header_element/datatype/long_long_spec.rb +9 -0
  154. data/spec/header_element/datatype/signed_char_spec.rb +9 -0
  155. data/spec/header_element/datatype/signed_int_spec.rb +9 -0
  156. data/spec/header_element/datatype/signed_short_spec.rb +9 -0
  157. data/spec/header_element/datatype/unsigned_char_spec.rb +9 -0
  158. data/spec/header_element/datatype/unsigned_int_spec.rb +9 -0
  159. data/spec/header_element/datatype/unsigned_long_long.rb +9 -0
  160. data/spec/header_element/datatype/unsigned_short_spec.rb +9 -0
  161. data/spec/header_element/datatype_spec.rb +109 -0
  162. data/spec/header_element/dimensions_spec.rb +105 -0
  163. data/spec/header_element/intents_spec.rb +48 -0
  164. data/spec/header_element/metadata_spec.rb +96 -0
  165. data/spec/header_element/miscellaneous_spec.rb +48 -0
  166. data/spec/header_element/quaternions_spec.rb +64 -0
  167. data/spec/header_element/spacings_spec.rb +88 -0
  168. data/spec/header_element/timings_spec.rb +72 -0
  169. data/spec/header_element/transforms_spec.rb +64 -0
  170. data/spec/image_spec.rb +39 -0
  171. data/spec/spec_helper.rb +85 -0
  172. metadata +363 -0
@@ -0,0 +1,9 @@
1
+ FactoryGirl.define do
2
+ factory :nifti_image, class: NIfTICLib::NIfTIImage do
3
+ dims { [2,3,3] }
4
+ datatype 4
5
+ datafill 1
6
+
7
+ initialize_with { new(dims, datatype, datafill) }
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::Base do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect { CNifti::HeaderElement::Datatype::Base.to_i }.to raise_error(NotImplementedError)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::Binary do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::Binary.to_i).to eq(1)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::Double do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::Double.to_i).to eq(64)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::Float do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::Float.to_i).to eq(16)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::LongDouble do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::LongDouble.to_i).to eq(1538)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::LongLong do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::LongLong.to_i).to eq(1024)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::SignedChar do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::SignedChar.to_i).to eq(256)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::SignedInt do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::SignedInt.to_i).to eq(8)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::SignedShort do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::SignedShort.to_i).to eq(4)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::UnsignedChar do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::UnsignedChar.to_i).to eq(2)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::UnsignedInt do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::UnsignedInt.to_i).to eq(768)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::UnsignedLongLong do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::UnsignedLongLong.to_i).to eq(1280)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype::UnsignedShort do
4
+ describe 'to_i' do
5
+ it 'is expected raise a NotImplementedError' do
6
+ expect(CNifti::HeaderElement::Datatype::UnsignedShort.to_i).to eq(512)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,109 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::HeaderElement::Datatype do
4
+ describe 'to_datatype' do
5
+ context 'with a Binary' do
6
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::Binary.to_i }
7
+
8
+ it 'is expected raise a NotImplementedError' do
9
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::Binary)
10
+ end
11
+ end
12
+
13
+ context 'with a Double' do
14
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::Double.to_i }
15
+
16
+ it 'is expected raise a NotImplementedError' do
17
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::Double)
18
+ end
19
+ end
20
+
21
+ context 'with a Float' do
22
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::Float.to_i }
23
+
24
+ it 'is expected raise a NotImplementedError' do
25
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::Float)
26
+ end
27
+ end
28
+
29
+ context 'with a LongDouble' do
30
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::LongDouble.to_i }
31
+
32
+ it 'is expected raise a NotImplementedError' do
33
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::LongDouble)
34
+ end
35
+ end
36
+
37
+ context 'with a LongLong' do
38
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::LongLong.to_i }
39
+
40
+ it 'is expected raise a NotImplementedError' do
41
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::LongLong)
42
+ end
43
+ end
44
+
45
+ context 'with a SignedChar' do
46
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::SignedChar.to_i }
47
+
48
+ it 'is expected raise a NotImplementedError' do
49
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::SignedChar)
50
+ end
51
+ end
52
+
53
+ context 'with a SignedInt' do
54
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::SignedInt.to_i }
55
+
56
+ it 'is expected raise a NotImplementedError' do
57
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::SignedInt)
58
+ end
59
+ end
60
+
61
+ context 'with a SignedShort' do
62
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::SignedShort.to_i }
63
+
64
+ it 'is expected raise a NotImplementedError' do
65
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::SignedShort)
66
+ end
67
+ end
68
+
69
+ context 'with a UnsignedChar' do
70
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::UnsignedChar.to_i }
71
+
72
+ it 'is expected raise a NotImplementedError' do
73
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::UnsignedChar)
74
+ end
75
+ end
76
+
77
+ context 'with a UnsignedInt' do
78
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::UnsignedInt.to_i }
79
+
80
+ it 'is expected raise a NotImplementedError' do
81
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::UnsignedInt)
82
+ end
83
+ end
84
+
85
+ context 'with a UnsignedLongLong' do
86
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::UnsignedLongLong.to_i }
87
+
88
+ it 'is expected raise a NotImplementedError' do
89
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::UnsignedLongLong)
90
+ end
91
+ end
92
+
93
+ context 'with a UnsignedShort' do
94
+ let (:int_datatype) { CNifti::HeaderElement::Datatype::UnsignedShort.to_i }
95
+
96
+ it 'is expected raise a NotImplementedError' do
97
+ expect(CNifti::HeaderElement::Datatype.to_datatype(int_datatype)).to eq(CNifti::HeaderElement::Datatype::UnsignedShort)
98
+ end
99
+ end
100
+
101
+ context 'with a invalid type' do
102
+ let (:int_datatype) { -1 }
103
+
104
+ it 'is expected raise a NotImplementedError' do
105
+ expect{ CNifti::HeaderElement::Datatype.to_datatype(int_datatype) }.to raise_error(TypeError)
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,105 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::Header do
4
+ let!(:nifti_image) { FactoryGirl.build(:nifti_image) }
5
+ subject { CNifti::Header.new(nifti_image) }
6
+
7
+ describe 'dimensions' do
8
+ describe 'ndim' do
9
+ it 'is expected call the ndim method from NIfTICLib::NIfTIImage' do
10
+ nifti_image.expects(:ndim).returns(4)
11
+
12
+ expect(subject.ndim).to eq(4)
13
+ end
14
+ end
15
+
16
+ describe 'nvox' do
17
+ it 'is expected call the nvox method from NIfTICLib::NIfTIImage' do
18
+ nifti_image.expects(:nvox).returns(4)
19
+
20
+ expect(subject.nvox).to eq(4)
21
+ end
22
+ end
23
+
24
+ describe 'nx' do
25
+ it 'is expected call the nx method from NIfTICLib::NIfTIImage' do
26
+ nifti_image.expects(:nx).returns(4)
27
+
28
+ expect(subject.nx).to eq(4)
29
+ end
30
+ end
31
+
32
+ describe 'ny' do
33
+ it 'is expected call the ny method from NIfTICLib::NIfTIImage' do
34
+ nifti_image.expects(:ny).returns(4)
35
+
36
+ expect(subject.ny).to eq(4)
37
+ end
38
+ end
39
+
40
+ describe 'nz' do
41
+ it 'is expected call the nz method from NIfTICLib::NIfTIImage' do
42
+ nifti_image.expects(:nz).returns(4)
43
+
44
+ expect(subject.nz).to eq(4)
45
+ end
46
+ end
47
+
48
+ describe 'nt' do
49
+ it 'is expected call the nt method from NIfTICLib::NIfTIImage' do
50
+ nifti_image.expects(:nt).returns(4)
51
+
52
+ expect(subject.nt).to eq(4)
53
+ end
54
+ end
55
+
56
+ describe 'nu' do
57
+ it 'is expected call the nu method from NIfTICLib::NIfTIImage' do
58
+ nifti_image.expects(:nu).returns(4)
59
+
60
+ expect(subject.nu).to eq(4)
61
+ end
62
+ end
63
+
64
+ describe 'nv' do
65
+ it 'is expected call the nv method from NIfTICLib::NIfTIImage' do
66
+ nifti_image.expects(:nv).returns(4)
67
+
68
+ expect(subject.nv).to eq(4)
69
+ end
70
+ end
71
+
72
+ describe 'nw' do
73
+ it 'is expected call the nw method from NIfTICLib::NIfTIImage' do
74
+ nifti_image.expects(:nw).returns(4)
75
+
76
+ expect(subject.nw).to eq(4)
77
+ end
78
+ end
79
+
80
+ describe 'dim' do
81
+ it 'is expected call the dim method from NIfTICLib::NIfTIImage' do
82
+ nifti_image.expects(:dim).returns([4])
83
+
84
+ expect(subject.dim).to eq([4])
85
+ end
86
+ end
87
+
88
+ describe 'nbyper' do
89
+ it 'is expected call the nbyper method from NIfTICLib::NIfTIImage' do
90
+ nifti_image.expects(:nbyper).returns([4])
91
+
92
+ expect(subject.nbyper).to eq([4])
93
+ end
94
+ end
95
+
96
+ describe 'datatype' do
97
+ it 'is expected call the datatype method from NIfTICLib::NIfTIImage and convert it to a Datatype class' do
98
+ nifti_image.expects(:datatype).returns([4])
99
+ CNifti::HeaderElement::Datatype.expects(:to_datatype).returns(Class)
100
+
101
+ expect(subject.datatype).to eq(Class)
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::Header do
4
+ let!(:nifti_image) { FactoryGirl.build(:nifti_image) }
5
+ subject { CNifti::Header.new(nifti_image) }
6
+
7
+ describe 'intents' do
8
+ describe 'intent_code' do
9
+ it 'is expected call the intent_code method from NIfTICLib::NIfTIImage' do
10
+ nifti_image.expects(:intent_code).returns(4)
11
+
12
+ expect(subject.intent_code).to eq(4)
13
+ end
14
+ end
15
+
16
+ describe 'intent_p1' do
17
+ it 'is expected call the intent_p1 method from NIfTICLib::NIfTIImage' do
18
+ nifti_image.expects(:intent_p1).returns(1.4)
19
+
20
+ expect(subject.intent_p1).to eq(1.4)
21
+ end
22
+ end
23
+
24
+ describe 'intent_p2' do
25
+ it 'is expected call the intent_p2 method from NIfTICLib::NIfTIImage' do
26
+ nifti_image.expects(:intent_p2).returns(1.4)
27
+
28
+ expect(subject.intent_p2).to eq(1.4)
29
+ end
30
+ end
31
+
32
+ describe 'intent_p3' do
33
+ it 'is expected call the intent_p3 method from NIfTICLib::NIfTIImage' do
34
+ nifti_image.expects(:intent_p3).returns(1.4)
35
+
36
+ expect(subject.intent_p3).to eq(1.4)
37
+ end
38
+ end
39
+
40
+ describe 'intent_name' do
41
+ it 'is expected call the intent_name method from NIfTICLib::NIfTIImage' do
42
+ nifti_image.expects(:intent_name).returns("intent_name")
43
+
44
+ expect(subject.intent_name).to eq("intent_name")
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,96 @@
1
+ require 'spec_helper'
2
+
3
+ describe CNifti::Header do
4
+ let!(:nifti_image) { FactoryGirl.build(:nifti_image) }
5
+ subject { CNifti::Header.new(nifti_image) }
6
+
7
+ describe 'metadata' do
8
+ describe 'description' do
9
+ it 'is expected call the descrip method from NIfTICLib::NIfTIImage' do
10
+ nifti_image.expects(:descrip).returns("description")
11
+
12
+ expect(subject.description).to eq("description")
13
+ end
14
+ end
15
+
16
+ describe 'description=' do
17
+ it 'is expected call the descrip method from NIfTICLib::NIfTIImage' do
18
+ nifti_image.expects(:descrip=).with("description").returns("description")
19
+
20
+ expect(subject.description = "description").to eq("description")
21
+ end
22
+ end
23
+
24
+ describe 'aux_file' do
25
+ it 'is expected call the aux_file method from NIfTICLib::NIfTIImage' do
26
+ nifti_image.expects(:aux_file).returns("aux_file")
27
+
28
+ expect(subject.aux_file).to eq("aux_file")
29
+ end
30
+ end
31
+
32
+ describe 'aux_file=' do
33
+ it 'is expected call the aux_file= method from NIfTICLib::NIfTIImage' do
34
+ nifti_image.expects(:aux_file=).with("aux_file").returns("aux_file")
35
+
36
+ expect(subject.aux_file = "aux_file").to eq("aux_file")
37
+ end
38
+ end
39
+
40
+ describe 'file_name' do
41
+ it 'is expected call the fname method from NIfTICLib::NIfTIImage' do
42
+ nifti_image.expects(:fname).returns("fname")
43
+
44
+ expect(subject.file_name).to eq("fname")
45
+ end
46
+ end
47
+
48
+ describe 'file_names=' do
49
+ it 'is expected call the filenames= method from NIfTICLib::NIfTIImage' do
50
+ nifti_image.expects(:filenames=).with("file_names").returns("file_names")
51
+
52
+ expect(subject.file_name = "file_names").to eq("file_names")
53
+ end
54
+ end
55
+
56
+ describe 'image_name' do
57
+ it 'is expected call the iname method from NIfTICLib::NIfTIImage' do
58
+ nifti_image.expects(:iname).returns("iname")
59
+
60
+ expect(subject.image_name).to eq("iname")
61
+ end
62
+ end
63
+
64
+ describe 'image_name_offset' do
65
+ it 'is expected call the iname_offset method from NIfTICLib::NIfTIImage' do
66
+ nifti_image.expects(:iname_offset).returns(4)
67
+
68
+ expect(subject.image_name_offset).to eq(4)
69
+ end
70
+ end
71
+
72
+ describe 'swapsize' do
73
+ it 'is expected call the swapsize method from NIfTICLib::NIfTIImage' do
74
+ nifti_image.expects(:swapsize).returns(4)
75
+
76
+ expect(subject.swapsize).to eq(4)
77
+ end
78
+ end
79
+
80
+ describe 'byteorder' do
81
+ it 'is expected call the byteorder method from NIfTICLib::NIfTIImage' do
82
+ nifti_image.expects(:byteorder).returns(4)
83
+
84
+ expect(subject.byteorder).to eq(4)
85
+ end
86
+ end
87
+
88
+ describe 'analyze75_orient' do
89
+ it 'is expected call the analyze75_orient method from NIfTICLib::NIfTIImage' do
90
+ nifti_image.expects(:analyze75_orient).returns(4)
91
+
92
+ expect(subject.analyze75_orient).to eq(4)
93
+ end
94
+ end
95
+ end
96
+ end