Skip to content

Instantly share code, notes, and snippets.

@saketkunwar
Created March 22, 2016 12:44
Show Gist options
  • Save saketkunwar/c26e4bb53e0d17ff7709 to your computer and use it in GitHub Desktop.
Save saketkunwar/c26e4bb53e0d17ff7709 to your computer and use it in GitHub Desktop.
# Augmentation routine, for both response and predictor
def myaug(X_train_org,y_train_org):
x=[]
y=[]
halves=64
for i in range(0,len(X_train_org)):
r=random.randint(0,4)
posneg=random.randint(0,1)
if posneg==1:
rpx=random.randint(5,20)
else:
rpx=random.randint(-20,-5)
im=X_train_org[i].reshape(256,256)
mask=y_train_org[i].reshape(256,256)
mask[mask>0]=1
avg=get_centroid(mask)
if (r==0):
extent=[int(avg[0]-halves),int(avg[0]+halves),int(avg[1]-halves),int(avg[1]+halves)]
elif (r==1):
extent=[int(avg[0]+rpx-halves),int(avg[0]+rpx+halves),int(avg[1]-halves),int(avg[1]+halves)]
elif(r==2):
extent=[int(avg[0]-halves),int(avg[0]+halves),int(avg[1]+rpx-halves),int(avg[1]+rpx+halves)]
elif(r==3):
extent=[int(avg[0]+rpx-halves),int(avg[0]+rpx+halves),int(avg[1]+rpx-halves),int(avg[1]+rpx+halves)]
elif(r==4):
ang=random.randint(5,15)
im=sp.ndimage.interpolation.rotate(im,ang)
mask=sp.ndimage.interpolation.rotate(mask,ang)
avg=get_centroid(mask)
extent=[int(avg[0]-halves),int(avg[0]+halves),int(avg[1]-halves),int(avg[1]+halves)]
im=im[extent[0]:extent[1],extent[2]:extent[3]]
im=(im-im.mean())/im.std()
mask=mask[extent[0]:extent[1],extent[2]:extent[3]]
x.append(im)
mask=imresize(mask,(32,32)).flatten()
mask[mask>0]=1
y.append(mask)
X_batch=np.asarray(x).reshape(len(x),1,128,128)
y_batch=np.asarray(y).astype('int')
return X_batch,y_batch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment