import numpy as np
import glob
import re

filelist = glob.glob("XrayLuminosity_512*")
filelist.sort(reverse=True)

n=2
for name in filelist:

  redshift=float(re.findall(r"[-+]?\d*\.\d+|\d+",name)[1])
  Xray=np.fromfile(name).reshape(512,512,512)
  Density=np.fromfile('Density_%04i_%4.1f_normal.dat'%(n,redshift)).reshape(512,512,512)

  index = np.argwhere(Xray > 0)
  xmin = index[:][:,0].min()
  xmax = index[:][:,0].max()
  ymin = index[:][:,1].min()
  ymax = index[:][:,1].max()
  zmin = index[:][:,2].min()
  zmax = index[:][:,2].max()

  Density_mean = Density[Xray>0].mean()
  total_Xray = Xray.sum()
  Xmean = total_Xray/(Xray[Density>Density_mean]>0).sum()
  Density[xmin:xmax,ymin:ymax,zmin:zmax] = 0.0

  #Xray=np.zeros([512,512,512])
  Xray[Density>Density_mean] = Xmean

  Xray.tofile('XrayLuminosity_WV_%4.1f.dat'%redshift)
  n+=1
