metamri 0.2.4 → 0.2.5
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.
- data/VERSION +1 -1
- data/lib/metamri/nifti_builder.rb +2 -8
- data/lib/metamri/raw_image_dataset.rb +12 -0
- data/lib/metamri/raw_image_file.rb +8 -0
- data/lib/metamri/visit_raw_data_directory.rb +7 -1
- data/lib/metamri.rb +1 -0
- data/metamri.gemspec +2 -2
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.5
|
@@ -1,10 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
=begin rdoc
|
4
|
-
Builds Nifti files from Dicoms.
|
5
|
-
=end
|
6
|
-
|
7
|
-
|
1
|
+
# Builds Nifti files from Dicoms.
|
8
2
|
module UnknownImageDataset
|
9
3
|
# Always set AFNI GE DICOM Fix to "No" before conversion with to3d.
|
10
4
|
ENV['AFNI_SLICE_SPACING_IS_GAP'] = "NO"
|
@@ -26,7 +20,7 @@ module UnknownImageDataset
|
|
26
20
|
|
27
21
|
nifti_output_file = File.join(nifti_output_directory, nifti_filename)
|
28
22
|
|
29
|
-
|
23
|
+
FileUtils.makedirs(nifti_output_directory) unless File.directory?(nifti_output_directory)
|
30
24
|
raise(IOError, "Cannot write to #{nifti_output_directory}") unless File.writable?(nifti_output_directory)
|
31
25
|
|
32
26
|
nifti_conversion_command = "to3d -session #{nifti_output_directory} -prefix #{[nifti_filename, functional_args, input_files].compact.join(' ')}"
|
@@ -338,6 +338,18 @@ Returns a path to the created dataset as a string if successful.
|
|
338
338
|
@raw_image_files.first.dicom?
|
339
339
|
end
|
340
340
|
|
341
|
+
# Helper predicate method to check whether the dataset is a DICOM dataset or not.
|
342
|
+
# This just sends dicom? to the first raw file in the dataset.
|
343
|
+
def pfile?
|
344
|
+
@raw_image_files.first.pfile?
|
345
|
+
end
|
346
|
+
|
347
|
+
# Helper predicate method to check whether the dataset is a DICOM dataset or not.
|
348
|
+
# This just sends dicom? to the first raw file in the dataset.
|
349
|
+
def geifile?
|
350
|
+
@raw_image_files.first.geifile?
|
351
|
+
end
|
352
|
+
|
341
353
|
private
|
342
354
|
|
343
355
|
# Gets the earliest timestamp among the raw image files in this dataset.
|
@@ -577,6 +577,8 @@ private
|
|
577
577
|
rmr_number_pat = /Patient ID for this exam: ([[:graph:]]+)/i
|
578
578
|
bold_reps_pat = /Number of excitations: ([0-9]+)/i
|
579
579
|
rep_time_pat = /Pulse repetition time \(usec\): ([0-9]+)/i
|
580
|
+
study_uid_pat = /Study entity unique ID: ([[:graph:]]+)/i
|
581
|
+
series_uid_pat = /Series entity unique ID: ([[:graph:]]+)/i
|
580
582
|
|
581
583
|
rmr_number_pat =~ @hdr_data
|
582
584
|
@rmr_number = ($1).nil? ? "rmr not found" : ($1).strip.chomp
|
@@ -615,6 +617,12 @@ private
|
|
615
617
|
|
616
618
|
rep_time_pat =~ @hdr_data
|
617
619
|
@rep_time = ($1).to_f / 1000000
|
620
|
+
|
621
|
+
study_uid_pat =~ @hdr_data
|
622
|
+
@dicom_study_uid = ($1).strip.chomp
|
623
|
+
|
624
|
+
series_uid_pat =~ @hdr_data
|
625
|
+
@dicom_series_uid = ($1).strip.chomp
|
618
626
|
end
|
619
627
|
|
620
628
|
end
|
@@ -111,7 +111,7 @@ class VisitRawDataDirectory
|
|
111
111
|
@rmr_number = get_rmr_number
|
112
112
|
@scanner_source = get_scanner_source
|
113
113
|
@study_id = get_study_id
|
114
|
-
@dicom_study_uid = get_dicom_study_uid
|
114
|
+
@dicom_study_uid = get_dicom_study_uid unless dicom_datasets.empty?
|
115
115
|
flash "Completed scanning #{@visit_directory}" if $LOG.level <= Logger::DEBUG
|
116
116
|
else
|
117
117
|
raise(IndexError, "No datasets could be scanned for directory #{@visit_directory}")
|
@@ -472,6 +472,12 @@ Returns an array of the created nifti files.
|
|
472
472
|
end
|
473
473
|
end
|
474
474
|
|
475
|
+
def dicom_datasets
|
476
|
+
dicom_sets ||= []
|
477
|
+
datasets.each {|ds| dicom_sets << ds if ds.dicom?}
|
478
|
+
return dicom_sets
|
479
|
+
end
|
480
|
+
|
475
481
|
def initialize_log
|
476
482
|
# If a log hasn't been created, catch that here and go to STDOUT.
|
477
483
|
unless $LOG
|
data/lib/metamri.rb
CHANGED
@@ -15,6 +15,7 @@ require 'metamri/raw_image_dataset_resource'
|
|
15
15
|
require 'metamri/visit_raw_data_directory_resource'
|
16
16
|
require 'metamri/image_dataset_quality_check_resource'
|
17
17
|
require 'metamri/dicom_additions'
|
18
|
+
require 'fileutils'
|
18
19
|
|
19
20
|
# require 'metamri/raw_image_dataset_thumbnail'
|
20
21
|
# TODO Move raw_image_dataset_thumbnail out of metamri.
|
data/metamri.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{metamri}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristopher J. Kosmatka"]
|
12
|
-
s.date = %q{2011-03-
|
12
|
+
s.date = %q{2011-03-14}
|
13
13
|
s.description = %q{Extraction of MRI metadata and insertion into compatible sqlite3 databases.}
|
14
14
|
s.email = %q{kk4@medicine.wisc.edu}
|
15
15
|
s.executables = ["convert_visit.rb", "import_visit.rb", "import_respiratory_files.rb", "import_study.rb", "list_visit"]
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metamri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 5
|
10
|
+
version: 0.2.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kristopher J. Kosmatka
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-14 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|