Commit d5f630a9 authored by Zhang, Yuanpeng's avatar Zhang, Yuanpeng
Browse files

add in legacy calibration routine

parent c1826896
Loading
Loading
Loading
Loading

nom_cal_legacy

0 → 100755
+105 −0
Original line number Diff line number Diff line
#!/bin/bash

local_cc_file=$1
working_dir="/SNS/NOM/shared/CALIBRATION/"
cd $working_dir

dia_file=$(python utils_legacy/load.py $local_cc_file)
run_num=$(python utils_legacy/rn_config.py $dia_file)
run_date=$(python utils_legacy/rd_config.py $local_cc_file)
sam_env=$(python utils_legacy/se_config.py $local_cc_file)
gen_mask_file=$(python utils_legacy/mg_config.py $local_cc_file)
running_dir="/SNS/NOM/shared/CALIBRATION/.cache/"
group_method=$(python utils_legacy/gm_config.py $local_cc_file)
out_dir=$(python utils_legacy/od_config.py $local_cc_file)
out_dir_alt="/SNS/NOM/shared/autoreduce/calibration"

# Create the output directory if not existing
if [ ! -d $out_dir ] ; then
    mkdir -p $out_dir
fi

# echo settings
echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
echo "Working directory: $working_dir"
echo "Calibrant file: $dia_file"
echo "Diamond run number: $run_num"
echo "Diamond run date: $run_date"
echo "Sample environment: $sam_env"
echo "Generate shadow mask file: $gen_mask_file"
echo "Running directory: $running_dir"
echo "Grouping method: $group_method"
echo "Output directory: $out_dir"
echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"

# Generate mask
if [ ! $gen_mask_file = "no" ]; then
    echo "Generating mask..."
    mantidpython $working_dir/inputs/mask_gen/nom_shadow_mask_gen.py $dia_file
    rm -rf $running_dir/manual_mask_cache/gen_mask/$gen_mask_file
    Rscript $working_dir/inputs/mask_gen/find_dip.R $gen_mask_file
    cat $working_dir/inputs/mask.in \
        $running_dir/manual_mask_cache/gen_mask/$gen_mask_file \
        > $running_dir/mask_combined_cache.in
else
	cat $working_dir/inputs/mask.in > $running_dir/mask_combined_cache.in
fi

cd $running_dir
sed -i -r '/^\s*$/d' mask_combined_cache.in

if [ -d "tmp" ]; then
	rm -rf tmp
fi

cp autogrouping_config_template.json autogrouping_config.json
sed -i "s%TO_REPLACE_CALIBRANT%${dia_file}%" autogrouping_config.json
sed -i "s%TO_REPLACE_GM%${group_method}%" autogrouping_config.json
sed -i "s%TO_REPLACE_MF%mask_combined_cache.in%" autogrouping_config.json

# Grouping
. /opt/anaconda/etc/profile.d/conda.sh
# In case the `dev` environment is not working properly,
# one can roll back to the `prod` version by switching
# the commented line below.
conda activate mantidtotalscattering-dev
# conda activate mantidtotalscattering

python autogrouping.py

conda deactivate

if [ "$group_method" = "KMEANS_ED" ]; then
	sed -i '3d' outputgrouping.xml
	sed -i '4d' outputgrouping.xml
	ex -s -c 3m4 -c w -c q outputgrouping.xml
fi

# External call to translate the mask file in plain text form to
# its XML form.
conda activate ~y8z/miniconda/envs/nom_calib
python group_calib_prep.py
conda deactivate

cd $working_dir

# Calibration
mantidpython $working_dir/utils_legacy/nom_cal.py $working_dir $local_cc_file

if [ ! -d $out_dir/input_configs ] ; then
    mkdir $out_dir/input_configs
fi
if [ ! -d $out_dir_alt/input_configs ] ; then
    mkdir $out_dir_alt/input_configs
fi

file_name=NOMAD_${run_num}_${run_date}_${sam_env}.json
cp $local_cc_file $out_dir/input_configs/$file_name
cp $local_cc_file $out_dir_alt/input_configs/$file_name

echo ""
echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
echo "Info> Calibration job done!"
echo "Info> h5 file written to $out_dir"
echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
echo ""
+0 −0

File moved.

Loading