123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import os
- import numpy as np
- from RegMaxSCore.iterativeRegistration import IterativeRegistration
- import shutil
- homeFolder = os.path.expanduser('~')
- # ----------------------------------------------------------------------------------------------------------------------
- # #
- temp = os.path.split(__file__)[0]
- temp1 = os.path.split(temp)[0]
- dirPath = os.path.join(temp1, 'TestFiles')
- expNames = [
- 'HSN-fluoro01.CNG',
- 'HSN-fluoro01.CNGRandScale',
- ]
- refInd = 0
- resDir = os.path.join(temp1, 'Results', 'scaleRefined')
- if not os.path.isdir(resDir):
- os.mkdir(resDir)
- # ----------------------------------------------------------------------------------------------------------------------
- gridSizes = [40.0, 20.0, 10.0]
- scaleBounds = [[0.5, 1/0.5], [0.5, 1/0.5], [0.5, 1/0.5]]
- minScaleStepSize = 1.005
- nCPU = 6
- refSWC = os.path.join(dirPath, expNames[refInd] + '.swc')
- iterReg = IterativeRegistration(refSWC, gridSizes, None, None,
- None, minScaleStepSize, None, nCPU)
- ipParFile = os.path.join(resDir, 'tmp.json')
- vals = ['scale']
- tempOutFiles = {}
- for val in vals:
- fle1 = os.path.join(resDir, val + '.swc')
- fle2 = os.path.join(resDir, val + 'bestSol.json')
- tempOutFiles[val] = [fle1, fle2]
- for expInd, expName in enumerate(expNames):
- if refInd != expInd:
- print('Doing ' + expName + ' Scale')
- SWC2Align = os.path.join(dirPath, expName + '.swc')
- iterReg.scaleOnce(SWC2Align, tempOutFiles['scale'], ipParFile, scaleBounds)
- shutil.copyfile(tempOutFiles['scale'][0], os.path.join(resDir, '{}.swc'.format(expName)))
- shutil.copyfile(tempOutFiles['scale'][1], os.path.join(resDir, '{}bestSol.json'.format(expName)))
- for g in vals:
- [os.remove(x) for x in tempOutFiles[g]]
- os.remove(ipParFile)
|