MCPcopy Create free account
hub / github.com/Slicer/Slicer / SampleDataSource

Class SampleDataSource

Modules/Scripted/SampleData/SampleData.py:132–241  ·  view source on GitHub ↗

Describe a set of sample data associated with one or multiple URIs and filenames. Example:: import SampleData from slicer.util import TESTING_DATA_URL dataSource = SampleData.SampleDataSource( nodeNames='fixed', fileNames='fixed.nrrd', uris=TESTING_DAT

Source from the content-addressed store, hash-verified

130# SampleDataSource
131#
132class SampleDataSource:
133 """Describe a set of sample data associated with one or multiple URIs and filenames.
134
135 Example::
136
137 import SampleData
138 from slicer.util import TESTING_DATA_URL
139 dataSource = SampleData.SampleDataSource(
140 nodeNames='fixed',
141 fileNames='fixed.nrrd',
142 uris=TESTING_DATA_URL + 'SHA256/b757f9c61c1b939f104e5d7861130bb28d90f33267a012eb8bb763a435f29d37')
143 loadedNode = SampleData.SampleDataLogic().downloadFromSource(dataSource)[0]
144 """
145
146 def __init__(self, sampleName=None, sampleDescription=None, uris=None, fileNames=None, nodeNames=None,
147 checksums=None, loadFiles=None,
148 customDownloader=None, thumbnailFileName=None,
149 loadFileTypes=None, loadFileProperties=None,
150 loadFileType=None):
151 """
152 :param sampleName: Name identifying the data set.
153 :param sampleDescription: Displayed name of data set in SampleData module GUI. (default is ``sampleName``)
154 :param thumbnailFileName: Displayed thumbnail of data set in SampleData module GUI,
155 :param uris: Download URL(s).
156 :param fileNames: File name(s) that will be downloaded (and loaded).
157 :param nodeNames: Node name(s) in the scene.
158 :param checksums: Checksum(s) formatted as ``<algo>:<digest>`` to verify the downloaded file(s). For example, ``SHA256:cc211f0dfd9a05ca3841ce1141b292898b2dd2d3f08286affadf823a7e58df93``.
159 :param loadFiles: Boolean indicating if file(s) should be loaded.
160 :param customDownloader: Custom function for downloading.
161 :param loadFileTypes: file format name(s) (if not specified then the default file reader will be used).
162 :param loadFileProperties: custom properties passed to the IO plugin.
163 :param loadFileType: deprecated, use ``loadFileTypes`` instead.
164 """
165
166 # For backward compatibility (allow using "loadFileType" instead of "loadFileTypes")
167 if (loadFileType is not None) and (loadFileTypes is not None):
168 raise ValueError("loadFileType and loadFileTypes cannot be specified at the same time")
169 if (loadFileType is not None) and (loadFileTypes is None):
170 loadFileTypes = loadFileType
171
172 self.sampleName = sampleName
173 if sampleDescription is None:
174 sampleDescription = sampleName
175 self.sampleDescription = sampleDescription
176 if isinstance(uris, list) or isinstance(uris, tuple):
177 if isinstance(loadFileTypes, str) or loadFileTypes is None:
178 loadFileTypes = [loadFileTypes] * len(uris)
179 if nodeNames is None:
180 nodeNames = [None] * len(uris)
181 if loadFiles is None:
182 loadFiles = [None] * len(uris)
183 if checksums is None:
184 checksums = [None] * len(uris)
185 elif isinstance(uris, str):
186 uris = [uris]
187 fileNames = [fileNames]
188 nodeNames = [nodeNames]
189 loadFiles = [loadFiles]

Calls

no outgoing calls