#!/usr/bin/env python# Copyright 2016-2023 Biomedical Imaging Group Rotterdam, Departments of# Medical Informatics and Radiology, Erasmus MC, Rotterdam, The Netherlands## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.fromWORC.detectors.detectorsimportWORCDirectoryDetectorfromWORC.addexceptionsimportWORCValueErrorimportosimportnumpyasnpimportSimpleITKassitk
[docs]deffind_exampledatadir():"""Find WORC example data folder."""# Check if example data directory existsbase_dir=WORCDirectoryDetector().do_detection()ifnotbase_dir:raiseWORCValueError('WORC installation directory not detected!')else:returnos.path.join(base_dir,'exampledata')
[docs]deffind_testdatadir():"""Find WORC test data folder."""# Check if example data directory existsbase_dir=WORCDirectoryDetector().do_detection()ifnotbase_dir:raiseWORCValueError('WORC installation directory not detected!')else:testdatadir=os.path.join(base_dir,'test','tmp')ifnotos.path.exists(testdatadir):os.mkdir(testdatadir)returntestdatadir
[docs]defcreate_SimpeITKimage(size=10):"""Create a random float SimpleITK image"""returnsitk.GetImageFromArray(np.random.rand(size,size,size))
[docs]defcreate_SimpeITKimage_mask(size=10,radius=3):"""Create a random binary SimpleITK image"""mask=sitk.GetImageFromArray(np.zeros((size,size,size)))start=int((size-radius)/2)stop=int((size+radius)/2)mask[start:stop,start:stop,start:stop]=1returnmask