Here are some early working notes about running trs_solve_1.
This work done originally in: /home/sco/shuf_examples/het_eng/shuf1
This file originally: /home/sco/shuf_examples/het_eng/shuf1/S/README.trs
Usage: trs_solve_2 file1.xy file2.xy 2 1.35 -30.0 N
arg1 - file with XY to be transformed to (Defines system)
arg2 - file with XY to be transformed
arg3 - Point number defining origin (1)
arg4 - scale factor (can also be "Q" or "S")
arg5 - Rotation angle in degrees (can be "Q" or "S")
arg6 - Reflection axis (X,Y, or N for none)
NOTE: Q=query S=solve
NOTE: local PointNames file must be present
For problem here:
file1 = XY in the acm system (system to be transformed to)
file2 = the IHMP coordinates
Must have a PointNames file
# data
056 -49.8 -148.7 741.8 213.3
066 49.8 -151.3 744.5 581.5
555 3.3 -73.2 452.6 402.6
600 -35.0 10.1 148 254.8
000 0.0 0.0 183.3 386.3
I split the above table into 3 files:
% cat PointNames
056
066
555
600
000
% cat acm.xy
# acm measure pre-Dec2017
# data
741.8 213.3
744.5 581.5
452.6 402.6
148.0 254.8
183.3 386.3
% cat ihmp.xy
# IHMP positions
# data
-49.8 -148.7
49.8 -151.3
3.3 -73.2
-35.0 10.1
0.0 0.0
--------------------------------------------------------
file1 = acm.xy (these define the system)
file2 = ihmp.xy (these will be transformed)
To solve:
file1 file2 p scale rot flip
trs_solve_2 acm.xy ihmp.xy 3 3.6913 S N
To view informative plots:
To see the original data:
trs_2plot file1_original.xy file2_original.xy
Plot1.png ==
The small blue squares (labeld as File 1 in the legend) are the original
acm positions in units of pixels. This is the system to want to transform to.
The red circles (labeld as File 2 in the legend) are the IHMP (fplane.txt)
positions. It is the X,Y=0,0 in this system that we wish to transform to the
acm system. We see that no flip is required, and we see that the X,Y values
in pixels (acm) cover a larger spatial range than those in arcseconds (IHMP)
since the acm plate scale is 0.2709 arcsec/pix.
To see after translation (or both sets):
trs_2plot file1_trans.xy file2_trans.xy
To see after file2 is scaled:
trs_2plot file1_trans.xy file2_scal.xy
To see after file2 is scaled and rotated:
trs_2plot file1_trans.xy file2_rotate.xy
**** Looks like the "600" point is discrepant.
![]() |
Here is the solution I get uisng 000,056,066.555, and 600. These
are IHMP. LRS2B, LRS2R, BIB, and HPF. The command line was:
% trs_solve_2 acm.xy ihmp.xy 3 3.6913 S N % trs_2plot file1_trans.xy file2_rotate.xy % trs_plot.py Style.file -50 50 -50 50 SHOWTere appears to be some misunderstanding about what point 600 is. |
Looks like I had a typo in my acm.xy data file for 600. Here is the correct run results:
[astronomer@mcs shuf1]$ cat Final_Residuals.List
Residuals List, coordinates are in units of file: acm.xy
X1,Y1 = original coordinates from acm.xy
X2,Y2 = coordinates from ihmp.xy transformed to the acm.xy system
# List of XY residuals from xy_tranrot_res.sh
line X1 Y1 X2 Y2 dX dY Res Res_norm
1 741.800 213.300 735.304 212.422 6.496 0.878 6.555 1.7418
2 744.500 581.500 737.264 580.195 7.236 1.305 7.353 1.9537
3 452.600 402.600 452.600 402.600 0.000 0.000 0.000 0.0000
4 148.000 254.800 148.117 254.868 -0.117 -0.068 0.135 0.0360
5 183.300 386.300 182.708 384.810 0.592 1.490 1.603 0.4260
The mean residuals statistics were:
RMS of X residuals (file1-file2) = 3.693
RMS of Y residuals (file1-file2) = 0.724
Number of residuals points used = 5
To get plot of final transform:
% trs_2plot file1_trans.xy file2_rotate.xy
trs_plot.py Style.file -50 50 -50 50 SHOW # does not work on mcs
trs_plot.py Style.file -400 600 -300 700 HARD
Now I get a very nice plot and solution.
Fianlly, to make the transformation using the solution file and a data
file having only the IHMP oriigin:
# IHMP origin point
# data
0.0 0.0
[astronomer@mcs A1]$ trs_apply a.xy TRS.final Y
# data
182.708 384.810
The acm position in the wiki is:
IHMP - 183.3 386.3 # Very close to my solution value!!!
![]() |
Here is the solution I get uisng 000,056,066.555, and 600. I have corrected
the typo I made for 600 in the acm.xy file.
% trs_solve_2 acm.xy ihmp.xy 3 3.6913 S N % trs_2plot file1_trans.xy file2_rotate.xy % trs_plot.py Style.file -50 50 -50 50 SHOW # does NOT work on mcs % trs_plot.py Style.file -400 600 -300 700 HARD # works fine on mcsThis solution is a good one. One odd point: the show() plotting fails when I run as astronomer, but if I run from my sco account on mcs the show() facility works just fine. Argh! |
Fianlly, I made a script to do everythin from one file:
#!/bin/bash
debug="N"
# Sampel file:
# 056 -49.8 -148.7 741.8 213.3
# 066 49.8 -151.3 744.5 581.5
# 555 3.3 -73.2 452.6 402.6
# 600 -35.0 10.1 148.0 254.8
# Check command line arguments
if [ -z "$1" ]
then
printf "Usage: find_ihmp_on_acm Data.ALL\n"
printf "arg1 - input data file (name X,Y_ihmp X,Y_acm) \n"
exit
fi
if [ $1 = "--help" ]
then
show_help find_ihmp_on_acm
exit
fi
fdat="$1"
# Cut out header
data_strip $fdat
mv data_strip.table B0
# Get the names
awk < B0 '{ print $1 } ' > PointNames
# Get ihmp data
printf "# IHMP positions \n# data\n" > ihmp.xy
awk < B0 '{ print $2 " " $3 } ' >> ihmp.xy
# Get acm data
printf "# acm positions \n# data\n" > acm.xy
awk < B0 '{ print $4 " " $5 } ' >> acm.xy
# Run the solution
# file1 file2 p scale rot flip
trs_solve_2 acm.xy ihmp.xy 3 3.6913 S N
printf "# IHMP origin \n# data\n 0.0 0.0 \n" > a.xy
printf "\n**** Now Computing IHMP Origin on acm **** \n"
trs_apply a.xy TRS.final Y
printf "\n\nPlot the results? Y/N: "
read ans
if [ $ans = "Y" ]
then
printf "I am running: \ntrs_plot.py Style.file -400 600 -300 700 HARD\n"
trs_plot.py Style.file -400 600 -300 700 HARD
trs_plot.py Style.file -400 600 -300 700 SHOW
fi