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
| 130 | # SampleDataSource |
| 131 | # |
| 132 | class 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] |
no outgoing calls