Class: Orthanc::Series

Inherits:
Object
  • Object
show all
Includes:
Response
Defined in:
lib/orthanc/series.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Response

#bool_to_num, #handle_response, #num_to_bool

Constructor Details

#initialize(id = nil) ⇒ Series

Returns a new instance of Series.



6
7
8
9
# File 'lib/orthanc/series.rb', line 6

def initialize(id = nil)
  client = Client.new
  self.base_uri = client.base_uri["/series/#{id}"]
end

Instance Attribute Details

#base_uriObject

Returns the value of attribute base_uri.



4
5
6
# File 'lib/orthanc/series.rb', line 4

def base_uri
  @base_uri
end

Instance Method Details

#anonymize(payload = {}) ⇒ Object

POST /series/id/anonymize



22
23
24
# File 'lib/orthanc/series.rb', line 22

def anonymize(payload = {}) # https://code.google.com/p/orthanc/wiki/Anonymization
  handle_response(base_uri["anonymize"].post(payload.to_s))
end

#archiveObject

GET /series/id/archive



27
28
29
# File 'lib/orthanc/series.rb', line 27

def archive # Create ZIP
  base_uri["archive"].get # CAREFUL! Returns the whole zipfile
end

#attachments(id = nil) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
# File 'lib/orthanc/series.rb', line 79

def attachments(id = nil)
  if id
    return Attachment.new(base_uri, id)
  else
    a = []
    handle_response(base_uri["attachments"].get).each do |id|
      a << Attachment.new(base_uri, id)
    end
    return a
  end
end

#attachments_listObject

GET /resourceType/id/attachments



75
76
77
# File 'lib/orthanc/series.rb', line 75

def attachments_list # Orthanc endpoint response
  handle_response(base_uri["attachments"].get)
end

#deleteObject

DELETE /series/id



17
18
19
# File 'lib/orthanc/series.rb', line 17

def delete
  handle_response(base_uri.delete)
end

#fetchObject

GET /series, # GET /series/id



12
13
14
# File 'lib/orthanc/series.rb', line 12

def fetch # Fetch API response
  handle_response(base_uri.get)
end

#instancesObject

GET /series/id/instances



32
33
34
# File 'lib/orthanc/series.rb', line 32

def instances # Retrieve all the instances of this patient in a single REST call
  handle_response(base_uri["instances"].get)
end

#mediaObject

GET /series/id/media



37
38
39
# File 'lib/orthanc/series.rb', line 37

def media # Create a ZIP archive for media storage with DICOMDIR
  base_uri["media"].get # CAREFUL! Returns the whole zipfile
end

#metadata(name = nil) ⇒ Object

As class instances, for method chaining



98
99
100
101
102
103
104
105
106
107
108
# File 'lib/orthanc/series.rb', line 98

def (name = nil) # As class instances, for method chaining
  if name
    return Metadata.new(base_uri, name)
  else
    a = []
    handle_response(base_uri["metadata"].get).each do |name|
      a << Metadata.new(base_uri, name)
    end
    return a
  end
end

#metadata_listObject

GET /resourceType/id/metadata



94
95
96
# File 'lib/orthanc/series.rb', line 94

def  # Orthanc endpoint response
  handle_response(base_uri["metadata"].get)
end

#modify(payload = {}) ⇒ Object

POST /series/id/modify



42
43
44
# File 'lib/orthanc/series.rb', line 42

def modify(payload = {}) # https://code.google.com/p/orthanc/wiki/Anonymization
  handle_response(base_uri["modify"].post(payload.to_s))
end

#moduleObject

GET /series/id/module



47
48
49
# File 'lib/orthanc/series.rb', line 47

def module
  handle_response(base_uri["module"].get)
end

#patientObject

GET /series/id/patient



52
53
54
# File 'lib/orthanc/series.rb', line 52

def patient
  handle_response(base_uri["patient"].get)
end

#shared_tags(params = {}) ⇒ Object

GET /series/id/shared-tags



57
58
59
# File 'lib/orthanc/series.rb', line 57

def shared_tags(params = {}) # "?simplify" argument to simplify output
  handle_response(base_uri["shared-tags"].get({params: params}))
end

#statisticsObject

GET /series/id/statistics



62
63
64
# File 'lib/orthanc/series.rb', line 62

def statistics
  handle_response(base_uri["statistics"].get)
end

#studyObject

GET /series/id/study



67
68
69
# File 'lib/orthanc/series.rb', line 67

def study
  handle_response(base_uri["study"].get)
end