Run the x-match again, but now using the code in 'booq'

As a final stage, the code used in the past notebooks was transfered to booq. Now we have to test it, looking for some erroneous reference or whatever bug eventualy to show up.


In [1]:
import booq

In [2]:
# let's define some parameters for our mock catalogs

# to be real fake, we have to fake evrything... :(
# let's start with the size of the supposed images
# from where the sources are coming from...
sx = 5000
sy = 5000

# number of sources to be relative to the size of the image
num_sources = int( 0.1 * (sx*sy)/(sx+sy) )

# and, say there is an error radius
error_radius = 20

In [3]:
from booq.data import mock
from booq import coordinates

# Generate catalog A
A_image_catalog = mock.D2.generate_catalog(num_sources, error_radius, (sy,sx))

A = A_image_catalog.rename(columns={'ID':'id'})
A.loc[:,'ra']  = coordinates.pixel_to_sky(A_image_catalog.x, 0, 1.0/sx)
A.loc[:,'dec'] = coordinates.pixel_to_sky(A_image_catalog.y, 0, 1.0/sy)

# Generate catalog B
B_image_catalog = mock.D2.generate_catalog_around(A_image_catalog, 0.75, (sy,sx))

B = B_image_catalog.rename(columns={'ID':'id'})
B.loc[:,'ra']  = coordinates.pixel_to_sky(B_image_catalog.x, 0, 1.0/sx)
B.loc[:,'dec'] = coordinates.pixel_to_sky(B_image_catalog.y, 0, 1.0/sy)

In [4]:
from booq.pipelines import xmatch_nn
# X-match the catalogs
matched_catalog_serial = xmatch_nn.xmatch(A, B)


/home/chbrandt/fido/repos/booq/booq/pipelines/xmatch_nn.py:121: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  B_matched['A_idx'] = df_matched_idx.index

In [5]:
from booq.pipelines import xmatch_nn
# X-match the catalogs
matched_catalog_parallel = xmatch_nn.xmatch(A, B, parallel_run=True)


Running in parallel
Running in parallel

In [6]:
matched_catalog_parallel.equals(matched_catalog_serial)


Out[6]:
True

In [7]:
from booq.table.atable import aTable
aTable.from_pandas(matched_catalog_parallel).show_in_notebook()


Out[7]:
<Table length=250>
A_idA_rA_xA_yA_raA_decB_idB_rB_xB_yB_raB_decAB_dist
1.020.02249.0146.00.44980.02921.020.02232.0120.00.44640.02422.3664026523
2.020.04509.02379.00.90180.47582.020.04503.02404.00.90060.480818.5111074623
3.020.01326.03287.00.26520.65743.020.01333.03324.00.26660.664827.1125029884
4.020.01449.0100.00.28980.024.020.01442.082.00.28840.016413.9055096069
5.020.01401.04706.00.28020.94125.020.01401.04689.00.28020.937812.24
6.020.0257.02603.00.05140.52066.020.0265.02581.00.0530.516216.8546873023
7.020.04474.00.00.89480.0nannannannannannannan
8.020.03148.04217.00.62960.84348.020.03149.04219.00.62980.84381.60993404434
9.020.02338.0763.00.46760.15269.020.02356.0781.00.47120.156218.3281744926
10.020.02293.03523.00.45860.704610.020.02284.03508.00.45680.701612.5946050783
11.020.03953.05.00.79060.00111.020.03994.05.00.79880.00129.5199999955
12.020.0634.01047.00.12680.209412.020.0590.01028.00.1180.205634.5072693283
13.020.02198.0274.00.43960.054813.020.02176.0289.00.43520.057819.1714724965
14.020.03282.02297.00.65640.459414.020.03283.02311.00.65660.462210.1056799113
15.020.01925.02397.00.3850.4794nannannannannannannan
16.020.04978.0984.00.99560.1968nannannannannannannan
17.020.0178.02086.00.03560.4172nannannannannannannan
18.020.02539.03910.00.50780.78218.020.02555.03916.00.5110.783212.3023592118
19.020.03947.0874.00.78940.174819.020.03943.0862.00.78860.17249.10735548084
20.020.03888.01381.00.77760.2762nannannannannannannan
21.020.0442.03185.00.08840.63721.020.0426.03232.00.08520.646435.7468789388
22.020.04457.04512.00.89140.902422.020.04469.04515.00.89380.9038.9048678711
23.020.01746.02969.00.34920.593823.020.01736.02989.00.34720.597816.0995153529
24.020.0839.0817.00.16780.163424.020.0826.0810.00.16520.16210.6306393762
25.020.02319.03263.00.46380.652625.020.02333.03281.00.46660.656216.4181224893
26.020.02973.02842.00.59460.568426.020.02960.02811.00.5920.562224.202964113
27.020.03901.01775.00.78020.355nannannannannannannan
28.020.0998.0951.00.19960.1902nannannannannannannan
29.020.0604.02863.00.12080.5726139.020.0605.02865.00.1210.5731.60995285343
30.020.01129.02939.00.22580.587830.020.01124.02968.00.22480.593621.1880396104
31.020.03627.02174.00.72540.434831.020.03628.02202.00.72560.440420.1728522961
32.020.03649.02379.00.72980.475832.020.03616.02378.00.72320.475623.7700880557
33.020.02384.03368.00.47680.673633.020.02389.03380.00.47780.6769.35990397448
34.020.03790.01885.00.7580.37734.020.03769.01865.00.75380.37320.8797654903
35.020.01661.03058.00.33220.611635.020.01693.03068.00.33860.613624.1375416796
36.020.03480.04970.00.6960.994nannannannannannannan
37.020.04662.01695.00.93240.33937.020.04656.01688.00.93120.33766.638023003
38.020.02037.04343.00.40740.868638.020.02026.04297.00.40520.859434.0535833244
39.020.0517.0200.00.10340.04nannannannannannannan
40.020.04554.0779.00.91080.155840.020.04566.0759.00.91320.151816.7931254411
41.020.01598.01580.00.31960.316nannannannannannannan
42.020.04177.04874.00.83540.974842.020.04178.04874.00.83560.97480.719895797581
43.020.03527.01038.00.70540.2076nannannannannannannan
44.020.01494.043.00.29880.008644.020.01486.053.00.29720.01069.22049885121
45.020.02680.04229.00.5360.845845.020.02694.04237.00.53880.847411.6086957921
46.020.02793.04080.00.55860.81646.020.02798.04107.00.55960.821419.7704565969
47.020.0662.02435.00.13240.48747.020.0684.02451.00.13680.490219.5856517429
48.020.03215.01398.00.6430.2796nannannannannannannan
49.020.02829.01040.00.56580.208150.020.02993.01082.00.59860.2164121.889920532
50.020.04475.0403.00.8950.080650.020.04479.0398.00.89580.07964.6102476928
51.020.03028.02240.00.60560.448nannannannannannannan
52.020.04056.03290.00.81120.65852.020.04053.03312.00.81060.662415.9865750105
53.020.01645.03270.00.3290.65453.020.01654.03276.00.33080.65527.7876388768
54.020.03417.0685.00.68340.13754.020.03397.0700.00.67940.1417.9999663416
55.020.02063.03011.00.41260.602255.020.02035.02993.00.4070.598623.965445385
56.020.0831.01404.00.16620.280856.020.0815.01359.00.1630.271834.3870224586
57.020.03203.01794.00.64060.358857.020.03177.01823.00.63540.364628.0428036074
58.020.04685.03503.00.9370.7006nannannannannannannan
59.020.01347.0169.00.26940.033859.020.01328.0160.00.26560.03215.1371311113
60.020.01602.0993.00.32040.1986nannannannannannannan
61.020.04421.03306.00.88420.661261.020.04404.03303.00.88080.660612.4283251941
62.020.01618.03085.00.32360.61762.020.01588.03091.00.31760.618222.0265338264
63.020.02493.04205.00.49860.84163.020.02488.04203.00.49760.84063.87695876877
64.020.03188.01730.00.63760.34664.020.03175.01743.00.6350.348613.2369173549
65.020.04553.02880.00.91060.576nannannannannannannan
66.020.03567.03537.00.71340.707466.020.03573.03536.00.71460.70724.37926433831
67.020.01689.02357.00.33780.4714223.020.01636.02335.00.32720.46741.3157784393
68.020.01203.01280.00.24060.25668.020.01181.01290.00.23620.25817.3994411367
69.020.04278.01333.00.85560.26667.020.04285.01328.00.8570.26566.19362996133
70.020.03886.04662.00.77720.9324nannannannannannannan
71.020.04699.02716.00.93980.5432nannannannannannannan
72.020.04253.0603.00.85060.1206nannannannannannannan
73.020.02700.03837.00.540.7674nannannannannannannan
74.020.054.01827.00.01080.365474.020.035.01800.00.0070.3623.7707488447
75.020.04098.04117.00.81960.823475.020.04098.04114.00.81960.82282.16
76.020.03302.042.00.66040.008476.020.03291.073.00.65820.014623.6835131983
77.020.01215.0293.00.2430.058677.020.01206.0286.00.24120.05728.20926044886
78.020.01451.0538.00.29020.107678.020.01462.0545.00.29240.1099.38763952689
79.020.03572.04746.00.71440.949279.020.03609.04755.00.72180.95127.4132243791
80.020.02989.03163.00.59780.632680.020.02987.03164.00.59740.63281.60989041647
81.020.03928.059.00.78560.011881.020.03938.053.00.78760.01068.39657061051
82.020.01091.02845.00.21820.56982.020.01104.02837.00.22080.567410.9899310377
83.020.0866.0722.00.17320.144483.020.0883.0719.00.17660.143812.4290889592
84.020.03181.03994.00.63620.798884.020.03170.04011.00.6340.802214.5784689406
85.020.02878.02008.00.57560.401685.020.02916.01999.00.58320.399828.1162477645
86.020.04725.02735.00.9450.54786.020.04727.02719.00.94540.543811.6096430657
87.020.04511.02983.00.90220.596687.020.04536.02996.00.90720.599220.2872945197
88.020.04287.0598.00.85740.119672.020.04278.0587.00.85560.117410.2331139142
89.020.03353.0256.00.67060.051289.020.03333.0249.00.66660.049815.2565211927
90.020.0654.0200.00.13080.0490.020.0663.0159.00.13260.031830.2228520071
91.020.0996.0604.00.19920.120891.020.01000.0621.00.20.124212.5742579138
92.020.04477.03271.00.89540.6542nannannannannannannan
93.020.0823.03807.00.16460.761493.020.0807.03840.00.16140.76826.4050063731
94.020.02439.0934.00.48780.186894.020.02456.0914.00.49120.182818.8991016028
95.020.03817.01814.00.76340.3628nannannannannannannan
96.020.0732.03050.00.14640.6196.020.0690.03059.00.1380.611830.9248127837
97.020.0117.04380.00.02340.87697.020.0114.04366.00.02280.873210.3087784414
98.020.04878.04158.00.97560.8316nannannannannannannan
99.020.03861.04366.00.77220.873299.020.03840.04357.00.7680.871416.4484593365
100.020.03576.0785.00.71520.157nannannannannannannan
101.020.0414.02254.00.08280.4508101.020.0405.02245.00.0810.4499.16396262661
102.020.03287.02682.00.65740.5364102.020.03309.02683.00.66180.536615.8556614987
103.020.0324.02208.00.06480.4416nannannannannannannan
104.020.02755.03516.00.5510.7032104.020.02777.03497.00.55540.699420.9286982812
105.020.0208.03112.00.04160.6224nannannannannannannan
106.020.03668.04830.00.73360.966106.020.03661.04818.00.73220.963610.002199661
107.020.02981.02208.00.59620.4416107.020.02978.02206.00.59560.44122.59594358624
108.020.01372.01635.00.27440.32739.020.01299.01510.00.25980.302104.223175551
109.020.02319.0430.00.46380.086109.020.02314.0386.00.46280.077231.8838889361
110.020.04621.0705.00.92420.141110.020.04605.0673.00.9210.134625.759488198
111.020.04822.0643.00.96440.1286nannannannannannannan
112.020.03650.04201.00.730.8402nannannannannannannan
113.020.0325.03662.00.0650.7324113.020.0343.03675.00.06860.73515.9857329853
114.020.01017.03710.00.20340.742114.020.01003.03733.00.20060.746619.3861511021
115.020.02556.04301.00.51120.8602115.020.02524.04278.00.50480.855628.3717499634
116.020.01501.01758.00.30020.3516116.020.01517.01787.00.30340.357423.8470065127
117.020.02206.0510.00.44120.102nannannannannannannan
118.020.04957.0257.00.99140.0514118.020.04986.0265.00.99720.05321.6599085432
119.020.02138.0294.00.42760.0588119.020.02154.0276.00.43080.055217.3398924049
120.020.065.0586.00.0130.1172nannannannannannannan
121.020.01388.04010.00.27760.802121.020.01404.04004.00.28080.800812.3023102903
122.020.02559.0775.00.51180.155122.020.02567.0812.00.51340.162427.255585582
123.020.02799.01644.00.55980.3288123.020.02810.01656.00.5620.331211.7206620633
124.020.04673.0523.00.93460.1046124.020.04684.0512.00.93680.102411.2005622764
125.020.03618.01359.00.72360.2718125.020.03626.01374.00.72520.274812.2399691632
126.020.01771.01875.00.35420.375nannannannannannannan
127.020.02161.04675.00.43220.935127.020.02166.04691.00.43320.938212.0692558669
128.020.01107.02490.00.22140.498128.020.01115.02484.00.2230.49687.19982636259
129.020.03793.0875.00.75860.175129.020.03819.0868.00.76380.173619.3865096623
130.020.02761.02907.00.55220.5814130.020.02768.02919.00.55360.583810.0024283907
131.020.01170.04629.00.2340.9258131.020.01175.04644.00.2350.928811.3840504919
132.020.03245.0587.00.6490.1174132.020.03217.0581.00.64340.116220.6176213715
133.020.02243.04200.00.44860.84133.020.02224.04204.00.44480.840813.9784312619
134.020.04213.0250.00.84260.05nannannannannannannan
135.020.04592.01811.00.91840.3622135.020.04618.01819.00.92360.363819.5857584452
136.020.02381.04912.00.47620.9824236.020.02467.04701.00.49340.9402164.05088676
137.020.04640.0940.00.9280.188137.020.04669.0961.00.93380.192225.7795267703
138.020.0796.01911.00.15920.3822138.020.0808.01908.00.16160.38168.90572195483
139.020.0619.02846.00.12380.569229.020.0597.02838.00.11940.567616.8540353574
140.020.02422.03455.00.48440.691140.020.02407.03443.00.48140.688613.8301371829
141.020.04641.0678.00.92820.1356nannannannannannannan
142.020.02507.02832.00.50140.5664142.020.02500.02815.00.50.56313.2369457431
143.020.04179.0350.00.83580.07143.020.04169.0356.00.83380.07128.39656604144
144.020.01145.04241.00.2290.8482144.020.01134.04234.00.22680.84689.38692052153
145.020.0400.03822.00.080.7644145.020.0389.03815.00.07780.7639.38705792094
146.020.03573.02845.00.71460.569nannannannannannannan
147.020.03766.02850.00.75320.57nannannannannannannan
148.020.03540.04796.00.7080.9592nannannannannannannan
149.020.02942.02069.00.58840.4138149.020.02913.02054.00.58260.410823.5072717373
150.020.02016.0951.00.40320.1902212.020.02030.01141.00.4060.2282137.17086076
151.020.01294.01758.00.25880.3516151.020.01327.01776.00.26540.355227.0643256472
152.020.01873.01920.00.37460.384nannannannannannannan
153.020.0611.04016.00.12220.8032153.020.0594.04020.00.11880.80412.5730875586
154.020.03542.02192.00.70840.4384154.020.03565.02222.00.7130.444427.2172247732
155.020.02363.028.00.47260.005620.020.02266.07.00.45320.001471.457959526
156.020.04695.02311.00.9390.4622156.020.04673.02300.00.93460.4617.7091995936
157.020.02036.01496.00.40720.2992157.020.02012.01482.00.40240.296420.0049177302
158.020.04542.0618.00.90840.1236158.020.04541.0629.00.90820.12587.95265977798
159.020.01780.04048.00.3560.8096159.020.01770.04072.00.3540.814418.719721919
160.020.03563.02414.00.71260.4828nannannannannannannan
161.020.03919.02400.00.78380.48161.020.03889.02394.00.77780.478822.0270228941
162.020.0489.04163.00.09780.8326162.020.0514.04134.00.10280.826827.5664009604
163.020.02551.03729.00.51020.7458163.020.02540.03751.00.5080.750217.7093565615
164.020.01114.03456.00.22280.6912164.020.01103.03468.00.22060.693611.72036006
165.020.01125.02406.00.2250.4812nannannannannannannan
166.020.03948.0112.00.78960.0224nannannannannannannan
167.020.055.02358.00.0110.4716167.020.054.02365.00.01080.4735.09116536516
168.020.02721.01215.00.54420.243nannannannannannannan
169.020.01850.02189.00.370.4378169.020.01875.02189.00.3750.437817.9994745315
170.020.04533.02878.00.90660.5756nannannannannannannan
171.020.02310.04506.00.4620.9012171.020.02288.04529.00.45760.905822.9145546349
172.020.01533.0342.00.30660.0684172.020.01552.0313.00.31040.062624.9623026836
173.020.0372.03947.00.07440.7894173.020.0403.03956.00.08060.791223.2395788194
174.020.04581.03040.00.91620.608174.020.04582.03059.00.91640.611813.6989321212
175.020.02424.0981.00.48480.1962175.020.02412.0954.00.48240.190821.2735128394
176.020.01940.02161.00.3880.4322176.020.01938.02161.00.38760.43221.43995903106
177.020.04047.04274.00.80940.8548177.020.04034.04261.00.80680.852213.2363046449
178.020.04079.03003.00.81580.6006178.020.04061.02986.00.81220.597217.8258477791
179.020.01457.01398.00.29140.2796179.020.01464.01404.00.29280.28086.63802625001
180.020.02454.01301.00.49080.2602180.020.02438.01325.00.48760.26520.7679082293
181.020.02025.0441.00.4050.0882nannannannannannannan
182.020.0576.01848.00.11520.3696182.020.0591.01865.00.11820.37316.3233789902
183.020.01098.0639.00.21960.1278183.020.01114.0649.00.22280.129813.5849081463
184.020.0666.0851.00.13320.1702184.020.0677.0837.00.13540.167412.8192143109
185.020.03921.03430.00.78420.686nannannannannannannan
186.020.01980.02314.00.3960.4628nannannannannannannan
187.020.01117.01189.00.22340.2378187.020.01094.01193.00.21880.238616.80842825
188.020.03632.0453.00.72640.0906188.020.03601.0464.00.72020.092823.6834863111
189.020.01953.01961.00.39060.3922189.020.01947.01968.00.38940.39366.63800590793
190.020.01106.04712.00.22120.9424190.020.01087.04698.00.21740.939616.9911249196
191.020.03059.04372.00.61180.8744191.020.03060.04366.00.6120.87324.37957525772
192.020.02436.01004.00.48720.2008192.020.02407.01021.00.48140.204224.2030277867
193.020.03405.01392.00.6810.2784193.020.03407.01379.00.68140.27589.47011887459
194.020.03233.01306.00.64660.2612nannannannannannannan
195.020.02030.03562.00.4060.7124nannannannannannannan
196.020.03681.04778.00.73620.9556196.020.03661.04794.00.73220.958818.4394287091
197.020.0199.04064.00.03980.8128197.020.0198.04042.00.03960.808415.8563519211
198.020.0789.03739.00.15780.7478198.020.0771.03754.00.15420.750816.8692879378
199.020.01003.04208.00.20060.8416199.020.01000.04191.00.20.838212.4290867522
200.020.01479.0897.00.29580.1794200.020.01492.0909.00.29840.181812.7380661619
201.020.02117.02961.00.42340.5922201.020.02110.02978.00.4220.595613.2369358556
202.020.0110.03821.00.0220.7642202.020.0125.03839.00.0250.767816.8695214344
203.020.01565.03378.00.3130.6756203.020.01548.03375.00.30960.67512.42828987
204.020.04849.03886.00.96980.7772204.020.04855.03907.00.9710.781415.7249275903
205.020.01176.03236.00.23520.6472248.020.01189.03234.00.23780.64689.4695316085
206.020.03298.0883.00.65960.1766nannannannannannannan
207.020.02639.03126.00.52780.6252239.020.02617.03206.00.52340.641259.7380528266
208.020.02508.02172.00.50160.4344nannannannannannannan
209.020.02878.03540.00.57560.70848.020.02864.03474.00.57280.694848.5771713211
210.020.03774.02042.00.75480.4084100.020.03903.02055.00.78060.41193.3480739603
211.020.0378.03553.00.07560.7106211.020.0410.03585.00.0820.71732.5822162236
212.020.04398.04325.00.87960.865nannannannannannannan
213.020.01454.0509.00.29080.1018nannannannannannannan
214.020.01330.04872.00.2660.9744214.020.01304.04893.00.26080.978624.0614010053
215.020.01950.0964.00.390.1928nannannannannannannan
216.020.01704.01355.00.34080.271216.020.01687.01358.00.33740.271612.428991953
217.020.02108.04928.00.42160.9856217.020.02081.04936.00.41620.987220.2726219794
218.020.0791.0391.00.15820.0782218.020.0777.0395.00.15540.07910.4833491206
219.020.01736.04797.00.34720.9594219.020.01768.04808.00.35360.961624.3601895025
220.020.01476.02167.00.29520.4334nannannannannannannan
221.020.01622.03329.00.32440.6658221.020.01635.03330.00.3270.6669.38702118493
222.020.03997.03802.00.79940.7604222.020.04014.03808.00.80280.761612.9789665295
223.020.01870.02413.00.3740.4826112.020.01859.02602.00.37180.5204136.310263708
224.020.01132.03781.00.22640.7562224.020.01142.03764.00.22840.752814.2003031992
225.020.0442.03840.00.08840.768225.020.0432.03836.00.08640.76727.75403740823
226.020.04699.01698.00.93980.3396nannannannannannannan
227.020.04931.02338.00.98620.4676227.020.04957.02323.00.99140.464621.6114601348
228.020.04137.0995.00.82740.199228.020.04132.01033.00.82640.206627.5958228291
229.020.0661.04381.00.13220.8762229.020.0703.04382.00.14060.876430.2450344718
230.020.02035.0698.00.4070.1396nannannannannannannan
231.020.03022.03629.00.60440.7258231.020.03062.03606.00.61240.721233.2195928656
232.020.0380.02952.00.0760.5904232.020.0375.02945.00.0750.5896.19356336863
233.020.03900.03634.00.780.7268233.020.03888.03583.00.77760.716637.7226212836
234.020.0717.0184.00.14340.0368nannannannannannannan
235.020.0937.0200.00.18740.04235.020.0917.0207.00.18340.041415.2565230428
236.020.0485.02092.00.0970.4184nannannannannannannan
237.020.03731.04081.00.74620.8162237.020.03736.04059.00.74720.811816.2438598968
238.020.04751.01065.00.95020.213238.020.04750.01060.00.950.2123.67129307863
239.020.03153.02994.00.63060.5988nannannannannannannan
240.020.03412.02583.00.68240.5166240.020.03392.02592.00.67840.518415.7902971579
241.020.03407.04770.00.68140.954nannannannannannannan
242.020.04708.01782.00.94160.3564242.020.04733.01799.00.94660.359821.7670609804
243.020.0268.03230.00.05360.646243.020.0264.03241.00.05280.64828.42732116699
244.020.0578.0139.00.11560.0278244.020.0557.0135.00.11140.02715.3918402965
245.020.03026.03256.00.60520.6512245.020.03048.03294.00.60960.658831.6139591097
246.020.02969.01822.00.59380.3644246.020.02965.01851.00.5930.370221.0776767964
247.020.01533.04186.00.30660.8372247.020.01528.04203.00.30560.840612.7583236316
248.020.01217.03259.00.24340.6518nannannannannannannan
249.020.0622.0876.00.12440.1752249.020.0630.0909.00.1260.181824.4482080724
250.020.0334.02979.00.06680.5958250.020.0332.02961.00.06640.592213.0397460534

In [ ]: