你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 04:56:51 +08:00
32 行
921 B
Python
32 行
921 B
Python
import argparse
|
|
import logging
|
|
import os
|
|
|
|
import h5py
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
# Parse command line arguments
|
|
parser = argparse.ArgumentParser(
|
|
description="Writes a HDF5 file of AustinMan or AustinWoman head only.", usage="python head_only_hdf5 filename"
|
|
)
|
|
parser.add_argument("filename", help="name and path to (HDF5) file containing AustinMan or AustinWoman model")
|
|
args = parser.parse_args()
|
|
|
|
# Read full body HDF5 file
|
|
f = h5py.File(args.filename, "r")
|
|
dx_dy_dz = f.attrs["dx_dy_dz"]
|
|
data = f["/data"][:, :, :]
|
|
|
|
# Define head as last 1/8 of total body height
|
|
nzhead = 7 * int(data.shape[2] / 8)
|
|
|
|
logger.info(f"Dimensions of head model: {data.shape[0]:g} x {data.shape[1]:g} x {data.shape[2] - nzhead:g} cells")
|
|
|
|
# Write HDF5 file
|
|
headfile = os.path.splitext(args.filename)[0] + "_head.h5"
|
|
f = h5py.File(headfile, "w")
|
|
f.attrs["dx_dy_dz"] = dx_dy_dz
|
|
f["/data"] = data[:, :, nzhead : data.shape[2]]
|