# Last edited on 2021-07-15 17:56:25 by jstolfi PROG := balls_to_tomogram PROGDIR := .. SHOW := YES .PHONY:: run-single debug-single show-single clean-single include ${STOLFIHOME}/programs/c/GENERIC-PROGS-TEST.make all: run-single SHAPE_NAME := vg SHAPE_FILE := in/${SHAPE_NAME}.dat TEST_NAME := ${SHAPE_NAME} OUT_PREFIX := out/${TEST_NAME} TOM_FILE := ${OUT_PREFIX}.tom STL_FILE := ${OUT_PREFIX}.stl debug-single: @echo "TEST_NAME = ${TEST_NAME}" run-single: clean-single ${STL_FILE} show-single VOXEL_SIZE_MM := 0.25 # Desired morpho smoothing radius (mm and vx): SMOOTH_RADIUS_MAX_MM := 1.0 # Morpho smooth radius in each pass (vx) # SMOOTH_RADIUS_PASS_MM := 0 SMOOTH_RADIUS_PASS_MM := ${shell echo "vs=${VOXEL_SIZE_MM}; print(2*vs)" | python3 } # Number of passes needed: NUM_PASSES := \ ${shell echo "rt=${SMOOTH_RADIUS_MAX_MM}; rp=${SMOOTH_RADIUS_PASS_MM}; print(int(rt/rp+0.999))" | python3 } # Blur (antialiasing) radius (mm and vx): BLUR_RADIUS_MM := 0.50 ${TOM_FILE}: ${PROGDIR}/${PROG} ${SHAPE_FILE} ${PROGDIR}/${PROG} \ -voxelSize ${VOXEL_SIZE_MM} \ -smooth ${SMOOTH_RADIUS_PASS_MM} ${NUM_PASSES} \ -modify drill cylZ 0 0 0 10 10 30 \ -modify clip cylZ 0 0 0 115 115 24 \ -blur ${BLUR_RADIUS_MM} \ -outPrefix ${OUT_PREFIX} \ < ${SHAPE_FILE} ; \ if [[ ! ( -s ${TOM_FILE} ) ]]; then rm ${TOM_FILE}; fi ${STL_FILE}: ${TOM_FILE} tomo_to_stl -step ${VOXEL_SIZE_MM} -eps 0.005 < ${TOM_FILE} > ${STL_FILE} ; \ if [[ ! ( -s ${STL_FILE} ) ]]; then rm ${STL_FILE}; fi show-single: ifeq "/${SHOW}" "/YES" stmesh_view -format ascii -nfGuess 3000000 -eps 0.005 ${STL_FILE} endif clean-single: rm -fv ${TOM_FILE} ${STL_FILE} clean:: rm -fv ${TOM_FILE} ${STL_FILE}