Skip to content

Commit c7ce6a4

Browse files
Merge pull request #6 from pnlbwh/allow-dot
split path at .nii instead of just .
2 parents 2f2c9a2 + 987d224 commit c7ce6a4

14 files changed

Lines changed: 57 additions & 56 deletions

lib/buildTemplate.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def applyXform(inImg, refImg, warp, trans, outImg):
4444

4545
def warp_bands(imgPath, maskPath, templatePath):
4646

47-
prefix= basename(imgPath).split('.')[0]
47+
prefix= basename(imgPath).split('.nii')[0]
4848
transPrefix= prefix.replace(f'_b{bshell_b}','')
4949
directory= dirname(imgPath)
5050
warp = glob(pjoin(templatePath, transPrefix + f'*_FA*[!Inverse]Warp.nii.gz'))
@@ -54,7 +54,7 @@ def warp_bands(imgPath, maskPath, templatePath):
5454
applyXform(maskPath,
5555
pjoin(templatePath, 'template0.nii.gz'),
5656
warp, trans,
57-
pjoin(templatePath, abspath(maskPath).split('.')[0] + 'Warped.nii.gz'))
57+
pjoin(templatePath, abspath(maskPath).split('.nii')[0] + 'Warped.nii.gz'))
5858

5959

6060
# warping the rish features
@@ -77,7 +77,7 @@ def createAntsCaselist(imgs, file):
7777

7878
with open(file,'w') as f:
7979
for imgPath in imgs:
80-
prefix= basename(imgPath).split('.')[0]
80+
prefix= basename(imgPath).split('.nii')[0]
8181
directory= dirname(imgPath)
8282

8383
FA= pjoin(directory,'dti', f'{prefix}_FA.nii.gz')
@@ -119,7 +119,7 @@ def dti_stat(siteName, imgs, masks, templatePath, templateHdr):
119119
if not isfile(morphed_mask_name):
120120
maskData = []
121121
for maskPath in masks:
122-
maskData.append(load_nifti(pjoin(templatePath, abspath(maskPath).split('.')[0] + 'Warped.nii.gz'))[0])
122+
maskData.append(load_nifti(pjoin(templatePath, abspath(maskPath).split('.nii')[0] + 'Warped.nii.gz'))[0])
123123

124124
morphed_mask= binary_opening(np.mean(maskData, axis= 0)>0.5, structure= generate_binary_structure(3,1))*1
125125
save_nifti(morphed_mask_name, morphed_mask.astype('uint8'), templateAffine, templateHdr)
@@ -128,7 +128,7 @@ def dti_stat(siteName, imgs, masks, templatePath, templateHdr):
128128
for dm in diffusionMeasures:
129129
imgData= []
130130
for imgPath in imgs:
131-
prefix = basename(imgPath).split('.')[0]
131+
prefix = basename(imgPath).split('.nii')[0]
132132
imgData.append(load_nifti(pjoin(templatePath, f'{prefix}_Warped{dm}.nii.gz'))[0])
133133

134134
save_nifti(pjoin(templatePath, f'Mean_{siteName}_{dm}_b{bshell_b}.nii.gz'),
@@ -145,7 +145,7 @@ def rish_stat(siteName, imgs, templatePath, templateHdr):
145145
for i in range(0, N_shm+1, 2):
146146
imgData= []
147147
for imgPath in imgs:
148-
prefix = basename(imgPath).split('.')[0]
148+
prefix = basename(imgPath).split('.nii')[0]
149149
imgData.append(load_nifti(pjoin(templatePath, f'{prefix}_WarpedL{i}.nii.gz'))[0])
150150

151151
templateAffine= templateHdr.get_best_affine()
@@ -228,10 +228,10 @@ def difference_calc(refSite, targetSite, refImgs, targetImgs,
228228
if travelHeads:
229229
print('Using travelHeads for computing templates of',dm)
230230
for refImg, targetImg in zip(refImgs, targetImgs):
231-
prefix = basename(refImg).split('.')[0]
231+
prefix = basename(refImg).split('.nii')[0]
232232
ref= load_nifti(pjoin(templatePath, f'{prefix}_Warped{dm}.nii.gz'))[0]
233233

234-
prefix = basename(targetImg).split('.')[0]
234+
prefix = basename(targetImg).split('.nii')[0]
235235
target= load_nifti(pjoin(templatePath, f'{prefix}_Warped{dm}.nii.gz'))[0]
236236

237237
temp= stat_calc(ref, target, mask)

lib/consistencyCheck.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def check_bshells(ref_imgs, ref_bvals):
3131
if not imgPath.exists():
3232
FileNotFoundError(imgPath)
3333

34-
inPrefix= abspath(imgPath).split('.')[0]
34+
inPrefix = abspath(imgPath).split('.nii')[0]
3535
bvals= findBShells(inPrefix+'.bval')
3636

3737
if (bvals==ref_bvals).all():
@@ -95,7 +95,7 @@ def consistencyCheck(ref_csv, outputBshellFile= None, outPutResolutionFile= None
9595
ref_bshell_img = ref_imgs[0]
9696
print(f'Using {ref_bshell_img} to determine b-shells')
9797

98-
inPrefix = abspath(ref_bshell_img).split('.')[0]
98+
inPrefix = abspath(ref_bshell_img).split('.nii')[0]
9999
ref_bvals = findBShells(inPrefix + '.bval', outputBshellFile)
100100

101101
ref_res = load(ref_bshell_img).header['pixdim'][1:4]

lib/debug_fa.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ def register_reference(imgPath, warp2mni, trans2mni, templatePath):
3232

3333
print(f'Warping {imgPath} diffusion measures to standard space')
3434
directory = os.path.dirname(imgPath)
35-
inPrefix = imgPath.split('.')[0]
36-
prefix = os.path.split(inPrefix)[-1]
35+
inPrefix = imgPath.split('.nii')[0]
36+
prefix = basename(inPrefix)
3737

3838
for dm in diffusionMeasures:
3939

@@ -57,8 +57,8 @@ def register_target(imgPath, templatePath):
5757

5858
print(f'Warping {imgPath} diffusion measures to standard space')
5959
directory = os.path.dirname(imgPath)
60-
inPrefix = imgPath.split('.')[0]
61-
prefix = os.path.split(inPrefix)[-1]
60+
inPrefix = imgPath.split('.nii')[0]
61+
prefix = basename(inPrefix)
6262

6363
dmImg = os.path.join(directory, 'dti', prefix + f'_FA.nii.gz')
6464
outPrefix = os.path.join(templatePath, prefix.replace(f'_b{bshell_b}','') + '_FA_ToMNI')
@@ -86,8 +86,8 @@ def register_harmonized(imgPath, warp2mni, trans2mni, templatePath, siteName):
8686

8787
print(f'Warping {imgPath} diffusion measures to standard space')
8888
directory = os.path.dirname(imgPath)
89-
inPrefix = imgPath.split('.')[0]
90-
prefix = os.path.split(inPrefix)[-1]
89+
inPrefix = imgPath.split('.nii')[0]
90+
prefix = basename(inPrefix)
9191

9292
dmImg = os.path.join(directory, 'dti', prefix + f'_FA.nii.gz')
9393
dmTmp = os.path.join(templatePath, f'Mean_{siteName}_FA_b{bshell_b}.nii.gz')
@@ -167,8 +167,8 @@ def analyzeStat(file, templatePath):
167167

168168
meanAttr=[]
169169
for imgPath in imgs:
170-
inPrefix = imgPath.split('.')[0]
171-
prefix = os.path.split(inPrefix)[-1]
170+
inPrefix = imgPath.split('.nii')[0]
171+
prefix = basename(inPrefix)
172172

173173
faImg= os.path.join(templatePath, prefix + f'_InMNI_FA.nii.gz')
174174
data= load(faImg).get_data()

lib/determineNshm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def verifyNshmForAll(csvFile, N_shm):
5454

5555
for imgPath in read_imgs_masks(csvFile)[0]:
5656
directory = dirname(imgPath)
57-
prefix = basename(imgPath).split('.')[0]
57+
prefix = basename(imgPath).split('.nii')[0]
5858
bvalFile = pjoin(directory, prefix + '.bval')
5959
verifyNshm(N_shm, bvalFile)
6060

lib/fileUtil.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,13 @@ def read_caselist(file):
7171
# from conversion import nifti_write
7272
# def nrrd2nifti(imgPath):
7373
#
74-
# if imgPath.endswith('.nrrd') or imgPath.endswith('.nhdr'):
75-
# niftiImgPrefix= imgPath.split('.')[0]
76-
# nifti_write(imgPath, niftiImgPrefix)
77-
#
78-
# return niftiImgPrefix+'.nii.gz'
74+
# if imgPath.endswith('.nrrd'):
75+
# niftiImgPrefix= imgPath.split('.nrrd')[0]
76+
# elif imgPath.endswith('.nhdr'):
77+
# niftiImgPrefix= imgPath.split('.nhdr')[0]
7978
# else:
8079
# return imgPath
80+
#
81+
# nifti_write(imgPath, niftiImgPrefix)
82+
# return niftiImgPrefix+'.nii.gz'
8183

lib/harmonization.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ def createTemplate(self):
209209
# ATTN: antsMultivariateTemplateConstruction2.sh requires absolute path for caselist
210210
antsMult(abspath(antsMultCaselist), self.templatePath)
211211
else:
212-
warnings.warn(f'Using {template0} created with bmax shell')
212+
warnings.warn(f'Using {template0} which was created before with bmax shell')
213213

214214
# load templateHdr
215215
templateHdr= load(template0).header
@@ -452,7 +452,7 @@ def main(self):
452452
ref_nshm_img = read_imgs_masks(self.target_csv)[0][0]
453453

454454
directory= dirname(ref_nshm_img)
455-
prefix= basename(ref_nshm_img).split('.')[0]
455+
prefix= basename(ref_nshm_img).split('.nii')[0]
456456
bvalFile= pjoin(directory, prefix+'.bval')
457457
self.N_shm, _= determineNshm(bvalFile)
458458

lib/joinBshells.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def joinBshells(imgPath, ref_bvals_file=None, ref_bvals=None, sep_prefix=None):
3434
img= load(imgPath._path)
3535
dim= img.header['dim'][1:5]
3636

37-
inPrefix= abspath(imgPath).split('.')[0]
37+
inPrefix= abspath(imgPath).split('.nii')[0]
3838
directory= dirname(inPrefix)
3939
prefix = basename(inPrefix)
4040

lib/multi-shell-harmonization.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@
3030

3131

3232
def separateShellsWrapper(csvFile, ref_bshell_file, N_proc):
33-
34-
csvDirectory= dirname(csvFile)
35-
csvPrefix= basename(csvFile).split('.')[0]
36-
outPrefix= pjoin(csvDirectory, csvPrefix)
37-
33+
34+
outPrefix= csvFile.with_suffix('')._path
35+
3836
separateAllBshells(csvFile, ref_bshell_file, N_proc, outPrefix)
3937

4038
return outPrefix

lib/preprocess.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
def dti_harm(imgPath, maskPath):
4141

4242
directory = os.path.dirname(imgPath)
43-
inPrefix = imgPath.split('.')[0]
44-
prefix = os.path.split(inPrefix)[-1]
43+
inPrefix = imgPath.split('.nii')[0]
44+
prefix = basename(inPrefix)
4545

4646
outPrefix = os.path.join(directory, 'dti', prefix)
4747
dti(imgPath, maskPath, inPrefix, outPrefix)
@@ -66,7 +66,7 @@ def preprocessing(imgPath, maskPath):
6666

6767
lowResImg = applymask(lowResImg, lowResMask)
6868

69-
inPrefix = imgPath.split('.')[0]
69+
inPrefix = imgPath.split('.nii')[0]
7070

7171
bvals, _ = read_bvals_bvecs(inPrefix + '.bval', None)
7272

@@ -78,7 +78,7 @@ def preprocessing(imgPath, maskPath):
7878
lowResImg, _ = denoising(lowResImg, lowResMask)
7979
suffix = '_denoised'
8080
if debug:
81-
outPrefix= imgPath.split('.')[0]+suffix
81+
outPrefix= imgPath.split('.nii')[0]+suffix
8282
save_nifti(outPrefix+'.nii.gz', lowResImg, lowRes.affine, lowResImgHdr)
8383
shutil.copyfile(inPrefix + '.bvec', outPrefix + '.bvec')
8484
shutil.copyfile(inPrefix + '.bval', inPrefix + '.bval')
@@ -90,7 +90,7 @@ def preprocessing(imgPath, maskPath):
9090
lowResImg, bvals = remapBval(lowResImg, lowResMask, bvals, bvalMap)
9191
suffix = '_bmapped'
9292
if debug:
93-
outPrefix= imgPath.split('.')[0]+suffix
93+
outPrefix= imgPath.split('.nii')[0]+suffix
9494
save_nifti(outPrefix+'.nii.gz', lowResImg, lowRes.affine, lowResImgHdr)
9595
shutil.copyfile(inPrefix + '.bvec', outPrefix + '.bvec')
9696
write_bvals(outPrefix + '.bval', bvals)

lib/reconstSignal.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ def reconst(imgPath, maskPath, moving, templatePath, preFlag):
184184
img = load(imgPath)
185185

186186
directory = dirname(imgPath)
187-
inPrefix = imgPath.split('.')[0]
188-
prefix = psplit(inPrefix)[-1]
187+
inPrefix = imgPath.split('.nii')[0]
188+
prefix = basename(inPrefix)
189189
outPrefix = os.path.join(directory, 'harm', prefix)
190190
b0, shm_coeff, qb_model = rish(imgPath, maskPath, inPrefix, outPrefix, N_shm)
191191

@@ -204,8 +204,8 @@ def reconst(imgPath, maskPath, moving, templatePath, preFlag):
204204

205205
print(f'Reconstructing signal from {imgPath} rish features ...')
206206
harmImg, harmMask = ring_masking(directory, prefix, maskPath, shm_coeff, b0, qb_model, img.header)
207-
copyfile(inPrefix + '.bvec', harmImg.split('.')[0] + '.bvec')
208-
copyfile(inPrefix + '.bval', harmImg.split('.')[0] + '.bval')
207+
copyfile(inPrefix + '.bvec', harmImg.split('.nii')[0] + '.bvec')
208+
copyfile(inPrefix + '.bval', harmImg.split('.nii')[0] + '.bval')
209209

210210
if debug:
211211
dti_harm(harmImg, harmMask)

0 commit comments

Comments
 (0)