diff --git a/Analyser/FitAnalyser.py b/Analyser/FitAnalyser.py index a04e237..29a6ce6 100644 --- a/Analyser/FitAnalyser.py +++ b/Analyser/FitAnalyser.py @@ -503,6 +503,7 @@ class FitAnalyser(): 'output_sizes': { output_core_dims[0]: np.size(x), }, + 'meta': np.ndarray((0,0), dtype=float) }, } ) @@ -514,7 +515,6 @@ class FitAnalyser(): kwargs.update( { "output_core_dims": [[prefix+'x', prefix+'y']], - "output_dtypes": float, } ) output_core_dims = [prefix+'x', prefix+'y'] @@ -526,16 +526,10 @@ class FitAnalyser(): output_core_dims[0]: np.size(x), output_core_dims[1]: np.size(y), }, - # 'output_dtypes': float, - # 'output_dtypes': { - # output_core_dims[0]: float, - # output_core_dims[1]: float, - # }, + 'meta': np.ndarray((0,0), dtype=float) }, } ) - - # del kwargs['output_dtypes'] _x, _y = np.meshgrid(x, y) _x = _x.flatten() diff --git a/test.ipynb b/test.ipynb index 5267f6a..69cdd30 100644 --- a/test.ipynb +++ b/test.ipynb @@ -55,7 +55,7 @@ "
\n", "
\n", "

Client

\n", - "

Client-40fde82e-eb61-11ed-b5b8-80e82ce2fa8e

\n", + "

Client-97bc1b1c-eb61-11ed-96e0-80e82ce2fa8e

\n", " \n", "\n", " \n", @@ -86,7 +86,7 @@ " \n", "
\n", "

LocalCluster

\n", - "

59371be7

\n", + "

09edd810

\n", "
\n", " \n", "
\n", @@ -123,11 +123,11 @@ "
\n", "
\n", "

Scheduler

\n", - "

Scheduler-7426a0dc-a821-4183-aff9-f5e87cca3088

\n", + "

Scheduler-8491ba01-6207-4888-9e67-9507ebb1b358

\n", " \n", " \n", " \n", "
\n", - " Comm: tcp://127.0.0.1:63721\n", + " Comm: tcp://127.0.0.1:63901\n", " \n", " Workers: 6\n", @@ -169,7 +169,7 @@ " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -214,7 +214,7 @@ "
\n", - " Comm: tcp://127.0.0.1:63745\n", + " Comm: tcp://127.0.0.1:63937\n", " \n", " Total threads: 10\n", @@ -177,7 +177,7 @@ "
\n", - " Dashboard: http://127.0.0.1:63749/status\n", + " Dashboard: http://127.0.0.1:63939/status\n", " \n", " Memory: 9.31 GiB\n", @@ -185,13 +185,13 @@ "
\n", - " Nanny: tcp://127.0.0.1:63724\n", + " Nanny: tcp://127.0.0.1:63904\n", "
\n", - " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-0sq_olis\n", + " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-a3himnbj\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -259,7 +259,7 @@ "
\n", - " Comm: tcp://127.0.0.1:63751\n", + " Comm: tcp://127.0.0.1:63931\n", " \n", " Total threads: 10\n", @@ -222,7 +222,7 @@ "
\n", - " Dashboard: http://127.0.0.1:63753/status\n", + " Dashboard: http://127.0.0.1:63932/status\n", " \n", " Memory: 9.31 GiB\n", @@ -230,13 +230,13 @@ "
\n", - " Nanny: tcp://127.0.0.1:63725\n", + " Nanny: tcp://127.0.0.1:63905\n", "
\n", - " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-4q4rmsbv\n", + " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-u5gnp3mc\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -304,7 +304,7 @@ "
\n", - " Comm: tcp://127.0.0.1:63752\n", + " Comm: tcp://127.0.0.1:63934\n", " \n", " Total threads: 10\n", @@ -267,7 +267,7 @@ "
\n", - " Dashboard: http://127.0.0.1:63756/status\n", + " Dashboard: http://127.0.0.1:63935/status\n", " \n", " Memory: 9.31 GiB\n", @@ -275,13 +275,13 @@ "
\n", - " Nanny: tcp://127.0.0.1:63726\n", + " Nanny: tcp://127.0.0.1:63906\n", "
\n", - " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-b4p4jg9b\n", + " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-vom2akqi\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -349,7 +349,7 @@ "
\n", - " Comm: tcp://127.0.0.1:63761\n", + " Comm: tcp://127.0.0.1:63938\n", " \n", " Total threads: 10\n", @@ -312,7 +312,7 @@ "
\n", - " Dashboard: http://127.0.0.1:63762/status\n", + " Dashboard: http://127.0.0.1:63940/status\n", " \n", " Memory: 9.31 GiB\n", @@ -320,13 +320,13 @@ "
\n", - " Nanny: tcp://127.0.0.1:63727\n", + " Nanny: tcp://127.0.0.1:63907\n", "
\n", - " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-a20xylwp\n", + " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-hxb9f3bt\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -394,7 +394,7 @@ "
\n", - " Comm: tcp://127.0.0.1:63760\n", + " Comm: tcp://127.0.0.1:63926\n", " \n", " Total threads: 10\n", @@ -357,7 +357,7 @@ "
\n", - " Dashboard: http://127.0.0.1:63763/status\n", + " Dashboard: http://127.0.0.1:63929/status\n", " \n", " Memory: 9.31 GiB\n", @@ -365,13 +365,13 @@ "
\n", - " Nanny: tcp://127.0.0.1:63728\n", + " Nanny: tcp://127.0.0.1:63908\n", "
\n", - " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-00umhxwt\n", + " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-h_t7j4hx\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -443,7 +443,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -953,7 +953,7 @@ " z_offset_img: 0.189\n", " runs: [0. 1. 2.]\n", " scanAxis: ['runs']\n", - " scanAxisLength: [3.]
\n", - " Comm: tcp://127.0.0.1:63755\n", + " Comm: tcp://127.0.0.1:63943\n", " \n", " Total threads: 10\n", @@ -402,7 +402,7 @@ "
\n", - " Dashboard: http://127.0.0.1:63758/status\n", + " Dashboard: http://127.0.0.1:63944/status\n", " \n", " Memory: 9.31 GiB\n", @@ -410,13 +410,13 @@ "
\n", - " Nanny: tcp://127.0.0.1:63729\n", + " Nanny: tcp://127.0.0.1:63909\n", "
\n", - " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-m7f8f51i\n", + " Local directory: C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-dhchz4hh\n", "
\n", + " scanAxisLength: [3.]
\n", " \n", "
\n", " \n", @@ -1035,7 +1035,7 @@ "\n", " \n", " \n", - "
  • background
    (runs, x, y)
    uint16
    dask.array<chunksize=(1, 1200, 1920), meta=np.ndarray>
    IMAGE_SUBCLASS :
    IMAGE_GRAYSCALE
    IMAGE_VERSION :
    1.2
    IMAGE_WHITE_IS_ZERO :
    0
    \n", + "
  • background
    (runs, x, y)
    uint16
    dask.array<chunksize=(1, 1200, 1920), meta=np.ndarray>
    IMAGE_SUBCLASS :
    IMAGE_GRAYSCALE
    IMAGE_VERSION :
    1.2
    IMAGE_WHITE_IS_ZERO :
    0
    \n", " \n", "
    \n", " \n", @@ -1117,7 +1117,7 @@ "\n", " \n", " \n", - "
  • dark
    (runs, x, y)
    uint16
    dask.array<chunksize=(1, 1200, 1920), meta=np.ndarray>
    IMAGE_SUBCLASS :
    IMAGE_GRAYSCALE
    IMAGE_VERSION :
    1.2
    IMAGE_WHITE_IS_ZERO :
    0
    \n", + "
  • dark
    (runs, x, y)
    uint16
    dask.array<chunksize=(1, 1200, 1920), meta=np.ndarray>
    IMAGE_SUBCLASS :
    IMAGE_GRAYSCALE
    IMAGE_VERSION :
    1.2
    IMAGE_WHITE_IS_ZERO :
    0
    \n", " \n", "
    \n", " \n", @@ -1199,7 +1199,7 @@ "\n", " \n", " \n", - "
  • shotNum
    (runs)
    <U1
    '0' '1' '2'
    array(['0', '1', '2'], dtype='<U1')
  • OD
    (runs, x, y)
    float64
    dask.array<chunksize=(1, 1200, 1920), meta=np.ndarray>
    IMAGE_SUBCLASS :
    IMAGE_GRAYSCALE
    IMAGE_VERSION :
    1.2
    IMAGE_WHITE_IS_ZERO :
    0
    \n", + "
  • shotNum
    (runs)
    <U1
    '0' '1' '2'
    array(['0', '1', '2'], dtype='<U1')
  • OD
    (runs, x, y)
    float64
    dask.array<chunksize=(1, 1200, 1920), meta=np.ndarray>
    IMAGE_SUBCLASS :
    IMAGE_GRAYSCALE
    IMAGE_VERSION :
    1.2
    IMAGE_WHITE_IS_ZERO :
    0
    \n", " \n", "
    \n", " \n", @@ -1281,7 +1281,7 @@ "\n", " \n", " \n", - "
    • runs
      PandasIndex
      PandasIndex(Float64Index([0.0, 1.0, 2.0], dtype='float64', name='runs'))
  • TOF_free :
    0.015
    abs_img_freq :
    110.858
    absorption_imaging_flag :
    True
    backup_data :
    True
    blink_off_time :
    nan
    blink_on_time :
    nan
    c_duration :
    0.2
    cmot_final_current :
    0.65
    cmot_hold :
    0.06
    cmot_initial_current :
    0.18
    compX_current :
    0.005
    compX_current_sg :
    0
    compX_final_current :
    0.005
    compX_initial_current :
    0.005
    compY_current :
    0
    compY_current_sg :
    0
    compY_final_current :
    0.0
    compY_initial_current :
    0
    compZ_current :
    0
    compZ_current_sg :
    0.189
    compZ_final_current :
    0.275
    compZ_initial_current :
    0
    default_camera :
    0
    evap_1_arm_1_final_pow :
    0.35
    evap_1_arm_1_mod_depth_final :
    0
    evap_1_arm_1_mod_depth_initial :
    1.0
    evap_1_arm_1_mod_ramp_duration :
    1.15
    evap_1_arm_1_pow_ramp_duration :
    1.65
    evap_1_arm_1_start_pow :
    7
    evap_1_arm_2_final_pow :
    5
    evap_1_arm_2_ramp_duration :
    0.5
    evap_1_arm_2_start_pow :
    0
    evap_1_mod_ramp_trunc_value :
    1
    evap_1_pow_ramp_trunc_value :
    1.0
    evap_1_rate_constant_1 :
    0.525
    evap_1_rate_constant_2 :
    0.51
    evap_2_arm_1_final_pow :
    0.037
    evap_2_arm_1_start_pow :
    0.35
    evap_2_arm_2_final_pow :
    0.09
    evap_2_arm_2_start_pow :
    5
    evap_2_ramp_duration :
    1.0
    evap_2_ramp_trunc_value :
    1
    evap_2_rate_constant_1 :
    0.37
    evap_2_rate_constant_2 :
    0.71
    evap_3_arm_1_final_pow :
    0.1038
    evap_3_arm_1_mod_depth_final :
    0.43
    evap_3_arm_1_mod_depth_initial :
    0
    evap_3_arm_1_start_pow :
    0.037
    evap_3_ramp_duration :
    0.1
    evap_3_ramp_trunc_value :
    1
    evap_3_rate_constant_1 :
    -0.879
    evap_3_rate_constant_2 :
    -0.297
    final_amp :
    0.000105
    final_freq :
    104.0
    gradCoil_current :
    0.18
    gradCoil_current_sg :
    0
    imaging_method :
    in_situ_absorption
    imaging_pulse_duration :
    2.5e-05
    imaging_wavelength :
    4.21291e-07
    initial_amp :
    0.62
    initial_freq :
    102.0
    mod_depth_initial :
    1.0
    mot_3d_amp :
    0.62
    mot_3d_camera_exposure_time :
    0.002
    mot_3d_camera_trigger_duration :
    0.00025
    mot_3d_freq :
    102.0
    mot_load_duration :
    2
    odt_axis_camera_trigger_duration :
    0.002
    odt_hold_time_1 :
    0.01
    odt_hold_time_2 :
    0.1
    odt_hold_time_3 :
    0.1
    odt_hold_time_4 :
    0.5
    pow_arm_1 :
    7
    pow_arm_2 :
    0
    pulse_delay :
    8e-05
    push_amp :
    0.16
    push_freq :
    102.6
    ramp_duration :
    1
    recomp_ramp_duration :
    0.5
    recomp_ramp_pow_fin_arm_1 :
    0.1038
    recomp_ramp_pow_fin_arm_2 :
    0.09
    recomp_ramp_pow_ini_arm_1 :
    0.1038
    recomp_ramp_pow_ini_arm_2 :
    0.09
    save_results :
    False
    sin_mod_amplitude :
    0.0405
    sin_mod_dc_offset :
    0.09
    sin_mod_duration :
    nan
    sin_mod_freq :
    nan
    sin_mod_phase :
    0.0
    stern_gerlach_duration :
    0.001
    wait_after_2dmot_off :
    0
    wait_time_between_images :
    0.22
    x_offset :
    0
    x_offset_img :
    0
    y_offset :
    0
    y_offset_img :
    0
    z_offset :
    0.189
    z_offset_img :
    0.189
    runs :
    [0. 1. 2.]
    scanAxis :
    ['runs']
    scanAxisLength :
    [3.]
  • " + "
    • runs
      PandasIndex
      PandasIndex(Float64Index([0.0, 1.0, 2.0], dtype='float64', name='runs'))
  • TOF_free :
    0.015
    abs_img_freq :
    110.858
    absorption_imaging_flag :
    True
    backup_data :
    True
    blink_off_time :
    nan
    blink_on_time :
    nan
    c_duration :
    0.2
    cmot_final_current :
    0.65
    cmot_hold :
    0.06
    cmot_initial_current :
    0.18
    compX_current :
    0.005
    compX_current_sg :
    0
    compX_final_current :
    0.005
    compX_initial_current :
    0.005
    compY_current :
    0
    compY_current_sg :
    0
    compY_final_current :
    0.0
    compY_initial_current :
    0
    compZ_current :
    0
    compZ_current_sg :
    0.189
    compZ_final_current :
    0.275
    compZ_initial_current :
    0
    default_camera :
    0
    evap_1_arm_1_final_pow :
    0.35
    evap_1_arm_1_mod_depth_final :
    0
    evap_1_arm_1_mod_depth_initial :
    1.0
    evap_1_arm_1_mod_ramp_duration :
    1.15
    evap_1_arm_1_pow_ramp_duration :
    1.65
    evap_1_arm_1_start_pow :
    7
    evap_1_arm_2_final_pow :
    5
    evap_1_arm_2_ramp_duration :
    0.5
    evap_1_arm_2_start_pow :
    0
    evap_1_mod_ramp_trunc_value :
    1
    evap_1_pow_ramp_trunc_value :
    1.0
    evap_1_rate_constant_1 :
    0.525
    evap_1_rate_constant_2 :
    0.51
    evap_2_arm_1_final_pow :
    0.037
    evap_2_arm_1_start_pow :
    0.35
    evap_2_arm_2_final_pow :
    0.09
    evap_2_arm_2_start_pow :
    5
    evap_2_ramp_duration :
    1.0
    evap_2_ramp_trunc_value :
    1
    evap_2_rate_constant_1 :
    0.37
    evap_2_rate_constant_2 :
    0.71
    evap_3_arm_1_final_pow :
    0.1038
    evap_3_arm_1_mod_depth_final :
    0.43
    evap_3_arm_1_mod_depth_initial :
    0
    evap_3_arm_1_start_pow :
    0.037
    evap_3_ramp_duration :
    0.1
    evap_3_ramp_trunc_value :
    1
    evap_3_rate_constant_1 :
    -0.879
    evap_3_rate_constant_2 :
    -0.297
    final_amp :
    0.000105
    final_freq :
    104.0
    gradCoil_current :
    0.18
    gradCoil_current_sg :
    0
    imaging_method :
    in_situ_absorption
    imaging_pulse_duration :
    2.5e-05
    imaging_wavelength :
    4.21291e-07
    initial_amp :
    0.62
    initial_freq :
    102.0
    mod_depth_initial :
    1.0
    mot_3d_amp :
    0.62
    mot_3d_camera_exposure_time :
    0.002
    mot_3d_camera_trigger_duration :
    0.00025
    mot_3d_freq :
    102.0
    mot_load_duration :
    2
    odt_axis_camera_trigger_duration :
    0.002
    odt_hold_time_1 :
    0.01
    odt_hold_time_2 :
    0.1
    odt_hold_time_3 :
    0.1
    odt_hold_time_4 :
    0.5
    pow_arm_1 :
    7
    pow_arm_2 :
    0
    pulse_delay :
    8e-05
    push_amp :
    0.16
    push_freq :
    102.6
    ramp_duration :
    1
    recomp_ramp_duration :
    0.5
    recomp_ramp_pow_fin_arm_1 :
    0.1038
    recomp_ramp_pow_fin_arm_2 :
    0.09
    recomp_ramp_pow_ini_arm_1 :
    0.1038
    recomp_ramp_pow_ini_arm_2 :
    0.09
    save_results :
    False
    sin_mod_amplitude :
    0.0405
    sin_mod_dc_offset :
    0.09
    sin_mod_duration :
    nan
    sin_mod_freq :
    nan
    sin_mod_phase :
    0.0
    stern_gerlach_duration :
    0.001
    wait_after_2dmot_off :
    0
    wait_time_between_images :
    0.22
    x_offset :
    0
    x_offset_img :
    0
    y_offset :
    0
    y_offset_img :
    0
    z_offset :
    0.189
    z_offset_img :
    0.189
    runs :
    [0. 1. 2.]
    scanAxis :
    ['runs']
    scanAxisLength :
    [3.]
  • " ], "text/plain": [ "\n", @@ -1359,7 +1359,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -1447,16 +1447,521 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.DataArray 'OD' (runs: 3, x: 100, y: 100)>\n",
    +       "array([[[5.86966574e-10, 7.65249266e-10, 9.91509448e-10, ...,\n",
    +       "         2.46154913e-11, 1.75761294e-11, 1.24721796e-11],\n",
    +       "        [9.42954541e-10, 1.22936348e-09, 1.59284766e-09, ...,\n",
    +       "         3.95444823e-11, 2.82358344e-11, 2.00364022e-11],\n",
    +       "        [1.50191506e-09, 1.95810025e-09, 2.53704902e-09, ...,\n",
    +       "         6.29854895e-11, 4.49733502e-11, 3.19134941e-11],\n",
    +       "        ...,\n",
    +       "        [2.54388919e-07, 3.31655910e-07, 4.29716150e-07, ...,\n",
    +       "         1.06682535e-08, 7.61742276e-09, 5.40539175e-09],\n",
    +       "        [1.77937216e-07, 2.31983098e-07, 3.00573216e-07, ...,\n",
    +       "         7.46211487e-09, 5.32815269e-09, 3.78090510e-09],\n",
    +       "        [1.23399279e-07, 1.60880043e-07, 2.08447221e-07, ...,\n",
    +       "         5.17496911e-09, 3.69506849e-09, 2.62205386e-09]],\n",
    +       "\n",
    +       "       [[9.02404312e-13, 1.36226913e-12, 2.03826777e-12, ...,\n",
    +       "         2.07414123e-13, 1.32113406e-13, 8.34049874e-14],\n",
    +       "        [1.66705507e-12, 2.51658556e-12, 3.76539048e-12, ...,\n",
    +       "         3.83166126e-13, 2.44059476e-13, 1.54078061e-13],\n",
    +       "        [3.04507755e-12, 4.59684767e-12, 6.87794078e-12, ...,\n",
    +       "         6.99899236e-13, 4.45804128e-13, 2.81442200e-13],\n",
    +       "...\n",
    +       "        [9.87414581e-10, 1.49060060e-09, 2.23028114e-09, ...,\n",
    +       "         2.26953403e-10, 1.44559043e-10, 9.12620869e-11],\n",
    +       "        [6.10537300e-10, 9.21666828e-10, 1.37902544e-09, ...,\n",
    +       "         1.40329625e-10, 8.93836181e-11, 5.64290919e-11],\n",
    +       "        [3.73271211e-10, 5.63490048e-10, 8.43110640e-10, ...,\n",
    +       "         8.57949366e-11, 5.46474905e-11, 3.44997029e-11]],\n",
    +       "\n",
    +       "       [[3.50772829e-03, 3.51239608e-03, 3.51706888e-03, ...,\n",
    +       "         3.97151663e-03, 3.97641278e-03, 3.98131117e-03],\n",
    +       "        [3.50458735e-03, 3.50925410e-03, 3.51392671e-03, ...,\n",
    +       "         3.96794908e-03, 3.97284066e-03, 3.97773453e-03],\n",
    +       "        [3.50066142e-03, 3.50532717e-03, 3.50999990e-03, ...,\n",
    +       "         3.96348891e-03, 3.96837476e-03, 3.97326297e-03],\n",
    +       "        ...,\n",
    +       "        [1.12548401e-03, 1.12795860e-03, 1.13069623e-03, ...,\n",
    +       "         1.27078253e-03, 1.27229756e-03, 1.27382711e-03],\n",
    +       "        [1.09950837e-03, 1.10175364e-03, 1.10420980e-03, ...,\n",
    +       "         1.24207255e-03, 1.24356247e-03, 1.24506415e-03],\n",
    +       "        [1.07397978e-03, 1.07603161e-03, 1.07825160e-03, ...,\n",
    +       "         1.21374189e-03, 1.21520532e-03, 1.21667822e-03]]])\n",
    +       "Coordinates:\n",
    +       "  * runs     (runs) float64 0.0 1.0 2.0\n",
    +       "Dimensions without coordinates: x, y
    " + ], + "text/plain": [ + "\n", + "array([[[5.86966574e-10, 7.65249266e-10, 9.91509448e-10, ...,\n", + " 2.46154913e-11, 1.75761294e-11, 1.24721796e-11],\n", + " [9.42954541e-10, 1.22936348e-09, 1.59284766e-09, ...,\n", + " 3.95444823e-11, 2.82358344e-11, 2.00364022e-11],\n", + " [1.50191506e-09, 1.95810025e-09, 2.53704902e-09, ...,\n", + " 6.29854895e-11, 4.49733502e-11, 3.19134941e-11],\n", + " ...,\n", + " [2.54388919e-07, 3.31655910e-07, 4.29716150e-07, ...,\n", + " 1.06682535e-08, 7.61742276e-09, 5.40539175e-09],\n", + " [1.77937216e-07, 2.31983098e-07, 3.00573216e-07, ...,\n", + " 7.46211487e-09, 5.32815269e-09, 3.78090510e-09],\n", + " [1.23399279e-07, 1.60880043e-07, 2.08447221e-07, ...,\n", + " 5.17496911e-09, 3.69506849e-09, 2.62205386e-09]],\n", + "\n", + " [[9.02404312e-13, 1.36226913e-12, 2.03826777e-12, ...,\n", + " 2.07414123e-13, 1.32113406e-13, 8.34049874e-14],\n", + " [1.66705507e-12, 2.51658556e-12, 3.76539048e-12, ...,\n", + " 3.83166126e-13, 2.44059476e-13, 1.54078061e-13],\n", + " [3.04507755e-12, 4.59684767e-12, 6.87794078e-12, ...,\n", + " 6.99899236e-13, 4.45804128e-13, 2.81442200e-13],\n", + "...\n", + " [9.87414581e-10, 1.49060060e-09, 2.23028114e-09, ...,\n", + " 2.26953403e-10, 1.44559043e-10, 9.12620869e-11],\n", + " [6.10537300e-10, 9.21666828e-10, 1.37902544e-09, ...,\n", + " 1.40329625e-10, 8.93836181e-11, 5.64290919e-11],\n", + " [3.73271211e-10, 5.63490048e-10, 8.43110640e-10, ...,\n", + " 8.57949366e-11, 5.46474905e-11, 3.44997029e-11]],\n", + "\n", + " [[3.50772829e-03, 3.51239608e-03, 3.51706888e-03, ...,\n", + " 3.97151663e-03, 3.97641278e-03, 3.98131117e-03],\n", + " [3.50458735e-03, 3.50925410e-03, 3.51392671e-03, ...,\n", + " 3.96794908e-03, 3.97284066e-03, 3.97773453e-03],\n", + " [3.50066142e-03, 3.50532717e-03, 3.50999990e-03, ...,\n", + " 3.96348891e-03, 3.96837476e-03, 3.97326297e-03],\n", + " ...,\n", + " [1.12548401e-03, 1.12795860e-03, 1.13069623e-03, ...,\n", + " 1.27078253e-03, 1.27229756e-03, 1.27382711e-03],\n", + " [1.09950837e-03, 1.10175364e-03, 1.10420980e-03, ...,\n", + " 1.24207255e-03, 1.24356247e-03, 1.24506415e-03],\n", + " [1.07397978e-03, 1.07603161e-03, 1.07825160e-03, ...,\n", + " 1.21374189e-03, 1.21520532e-03, 1.21667822e-03]]])\n", + "Coordinates:\n", + " * runs (runs) float64 0.0 1.0 2.0\n", + "Dimensions without coordinates: x, y" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "fitCurve" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -1465,37 +1970,11 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "f:\\Jianshun\\analyseScript\\Analyser\\FitAnalyser.py:544: FutureWarning: ``meta`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", - " return xr.apply_ufunc(self._eval_2D, fitResultArray, kwargs={\"x\":_x, \"y\":_y, \"shape\":(len(x), len(y))}, **kwargs)\n" - ] - }, - { - "ename": "ValueError", - "evalue": "Invalid otype specification", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32mf:\\Jianshun\\analyseScript\\test.ipynb Cell 25\u001b[0m in \u001b[0;36m1\n\u001b[1;32m----> 1\u001b[0m fitCurve \u001b[39m=\u001b[39m fitAnalyser\u001b[39m.\u001b[39;49meval(fitResult, x\u001b[39m=\u001b[39;49mnp\u001b[39m.\u001b[39;49marange(\u001b[39m100\u001b[39;49m), y\u001b[39m=\u001b[39;49mnp\u001b[39m.\u001b[39;49marange(\u001b[39m100\u001b[39;49m), dask\u001b[39m=\u001b[39;49m\u001b[39m\"\u001b[39;49m\u001b[39mparallelized\u001b[39;49m\u001b[39m\"\u001b[39;49m, meta \u001b[39m=\u001b[39;49m np\u001b[39m.\u001b[39;49mndarray((\u001b[39m0\u001b[39;49m,\u001b[39m0\u001b[39;49m), dtype\u001b[39m=\u001b[39;49m\u001b[39mfloat\u001b[39;49m))\u001b[39m.\u001b[39mload()\n", - "File \u001b[1;32mf:\\Jianshun\\analyseScript\\Analyser\\FitAnalyser.py:544\u001b[0m, in \u001b[0;36mFitAnalyser.eval\u001b[1;34m(self, fitResultArray, x, y, output_core_dims, prefix, dask, vectorize, **kwargs)\u001b[0m\n\u001b[0;32m 541\u001b[0m _x \u001b[39m=\u001b[39m _x\u001b[39m.\u001b[39mflatten()\n\u001b[0;32m 542\u001b[0m _y \u001b[39m=\u001b[39m _y\u001b[39m.\u001b[39mflatten()\n\u001b[1;32m--> 544\u001b[0m \u001b[39mreturn\u001b[39;00m xr\u001b[39m.\u001b[39mapply_ufunc(\u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_eval_2D, fitResultArray, kwargs\u001b[39m=\u001b[39m{\u001b[39m\"\u001b[39m\u001b[39mx\u001b[39m\u001b[39m\"\u001b[39m:_x, \u001b[39m\"\u001b[39m\u001b[39my\u001b[39m\u001b[39m\"\u001b[39m:_y, \u001b[39m\"\u001b[39m\u001b[39mshape\u001b[39m\u001b[39m\"\u001b[39m:(\u001b[39mlen\u001b[39m(x), \u001b[39mlen\u001b[39m(y))}, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n", - "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python39\\site-packages\\xarray\\core\\computation.py:1196\u001b[0m, in \u001b[0;36mapply_ufunc\u001b[1;34m(func, input_core_dims, output_core_dims, exclude_dims, vectorize, join, dataset_join, dataset_fill_value, keep_attrs, kwargs, dask, output_dtypes, output_sizes, meta, dask_gufunc_kwargs, *args)\u001b[0m\n\u001b[0;32m 1194\u001b[0m \u001b[39m# feed DataArray apply_variable_ufunc through apply_dataarray_vfunc\u001b[39;00m\n\u001b[0;32m 1195\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39many\u001b[39m(\u001b[39misinstance\u001b[39m(a, DataArray) \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m args):\n\u001b[1;32m-> 1196\u001b[0m \u001b[39mreturn\u001b[39;00m apply_dataarray_vfunc(\n\u001b[0;32m 1197\u001b[0m variables_vfunc,\n\u001b[0;32m 1198\u001b[0m \u001b[39m*\u001b[39;49margs,\n\u001b[0;32m 1199\u001b[0m signature\u001b[39m=\u001b[39;49msignature,\n\u001b[0;32m 1200\u001b[0m join\u001b[39m=\u001b[39;49mjoin,\n\u001b[0;32m 1201\u001b[0m exclude_dims\u001b[39m=\u001b[39;49mexclude_dims,\n\u001b[0;32m 1202\u001b[0m keep_attrs\u001b[39m=\u001b[39;49mkeep_attrs,\n\u001b[0;32m 1203\u001b[0m )\n\u001b[0;32m 1204\u001b[0m \u001b[39m# feed Variables directly through apply_variable_ufunc\u001b[39;00m\n\u001b[0;32m 1205\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39many\u001b[39m(\u001b[39misinstance\u001b[39m(a, Variable) \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m args):\n", - "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python39\\site-packages\\xarray\\core\\computation.py:303\u001b[0m, in \u001b[0;36mapply_dataarray_vfunc\u001b[1;34m(func, signature, join, exclude_dims, keep_attrs, *args)\u001b[0m\n\u001b[0;32m 298\u001b[0m result_coords, result_indexes \u001b[39m=\u001b[39m build_output_coords_and_indexes(\n\u001b[0;32m 299\u001b[0m args, signature, exclude_dims, combine_attrs\u001b[39m=\u001b[39mkeep_attrs\n\u001b[0;32m 300\u001b[0m )\n\u001b[0;32m 302\u001b[0m data_vars \u001b[39m=\u001b[39m [\u001b[39mgetattr\u001b[39m(a, \u001b[39m\"\u001b[39m\u001b[39mvariable\u001b[39m\u001b[39m\"\u001b[39m, a) \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m args]\n\u001b[1;32m--> 303\u001b[0m result_var \u001b[39m=\u001b[39m func(\u001b[39m*\u001b[39;49mdata_vars)\n\u001b[0;32m 305\u001b[0m out: \u001b[39mtuple\u001b[39m[DataArray, \u001b[39m.\u001b[39m\u001b[39m.\u001b[39m\u001b[39m.\u001b[39m] \u001b[39m|\u001b[39m DataArray\n\u001b[0;32m 306\u001b[0m \u001b[39mif\u001b[39;00m signature\u001b[39m.\u001b[39mnum_outputs \u001b[39m>\u001b[39m \u001b[39m1\u001b[39m:\n", - "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python39\\site-packages\\xarray\\core\\computation.py:756\u001b[0m, in \u001b[0;36mapply_variable_ufunc\u001b[1;34m(func, signature, exclude_dims, dask, output_dtypes, vectorize, keep_attrs, dask_gufunc_kwargs, *args)\u001b[0m\n\u001b[0;32m 754\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m 755\u001b[0m \u001b[39mif\u001b[39;00m vectorize:\n\u001b[1;32m--> 756\u001b[0m func \u001b[39m=\u001b[39m _vectorize(\n\u001b[0;32m 757\u001b[0m func, signature, output_dtypes\u001b[39m=\u001b[39;49moutput_dtypes, exclude_dims\u001b[39m=\u001b[39;49mexclude_dims\n\u001b[0;32m 758\u001b[0m )\n\u001b[0;32m 760\u001b[0m result_data \u001b[39m=\u001b[39m func(\u001b[39m*\u001b[39minput_data)\n\u001b[0;32m 762\u001b[0m \u001b[39mif\u001b[39;00m signature\u001b[39m.\u001b[39mnum_outputs \u001b[39m==\u001b[39m \u001b[39m1\u001b[39m:\n", - "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python39\\site-packages\\xarray\\core\\computation.py:637\u001b[0m, in \u001b[0;36m_vectorize\u001b[1;34m(func, signature, output_dtypes, exclude_dims)\u001b[0m\n\u001b[0;32m 635\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m_vectorize\u001b[39m(func, signature, output_dtypes, exclude_dims):\n\u001b[0;32m 636\u001b[0m \u001b[39mif\u001b[39;00m signature\u001b[39m.\u001b[39mall_core_dims:\n\u001b[1;32m--> 637\u001b[0m func \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39;49mvectorize(\n\u001b[0;32m 638\u001b[0m func,\n\u001b[0;32m 639\u001b[0m otypes\u001b[39m=\u001b[39;49moutput_dtypes,\n\u001b[0;32m 640\u001b[0m signature\u001b[39m=\u001b[39;49msignature\u001b[39m.\u001b[39;49mto_gufunc_string(exclude_dims),\n\u001b[0;32m 641\u001b[0m )\n\u001b[0;32m 642\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m 643\u001b[0m func \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mvectorize(func, otypes\u001b[39m=\u001b[39moutput_dtypes)\n", - "File \u001b[1;32mc:\\ProgramData\\Anaconda3\\envs\\py39\\lib\\site-packages\\numpy\\lib\\function_base.py:2122\u001b[0m, in \u001b[0;36mvectorize.__init__\u001b[1;34m(self, pyfunc, otypes, doc, excluded, cache, signature)\u001b[0m\n\u001b[0;32m 2120\u001b[0m otypes \u001b[39m=\u001b[39m \u001b[39m'\u001b[39m\u001b[39m'\u001b[39m\u001b[39m.\u001b[39mjoin([_nx\u001b[39m.\u001b[39mdtype(x)\u001b[39m.\u001b[39mchar \u001b[39mfor\u001b[39;00m x \u001b[39min\u001b[39;00m otypes])\n\u001b[0;32m 2121\u001b[0m \u001b[39melif\u001b[39;00m otypes \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m-> 2122\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mInvalid otype specification\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m 2123\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39motypes \u001b[39m=\u001b[39m otypes\n\u001b[0;32m 2125\u001b[0m \u001b[39m# Excluded variable support\u001b[39;00m\n", - "\u001b[1;31mValueError\u001b[0m: Invalid otype specification" - ] - } - ], + "outputs": [], "source": [ - "fitCurve = fitAnalyser.eval(fitResult, x=np.arange(100), y=np.arange(100), dask=\"parallelized\", meta = np.ndarray((0,0), dtype=float)).load()" + "fitCurve = fitAnalyser.eval(fitResult, x=np.arange(100), y=np.arange(100), dask=\"parallelized\").load()" ] }, { @@ -1551,18 +2030,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ - "Ncount = dataSet_crop.OD.sum(dim=(scanAxis[1], 'x', 'y'))" + "Ncount = dataSet_crop.OD.sum(dim=(scanAxis[0], 'x', 'y'))" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "No numeric data to plot.", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mf:\\Jianshun\\analyseScript\\test.ipynb Cell 33\u001b[0m in \u001b[0;36m5\n\u001b[0;32m 3\u001b[0m fig \u001b[39m=\u001b[39m plt\u001b[39m.\u001b[39mfigure()\n\u001b[0;32m 4\u001b[0m ax \u001b[39m=\u001b[39m fig\u001b[39m.\u001b[39mgca()\n\u001b[1;32m----> 5\u001b[0m Ncount\u001b[39m.\u001b[39;49mplot(ax\u001b[39m=\u001b[39;49max)\n", + "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python39\\site-packages\\xarray\\plot\\accessor.py:47\u001b[0m, in \u001b[0;36mDataArrayPlotAccessor.__call__\u001b[1;34m(self, **kwargs)\u001b[0m\n\u001b[0;32m 45\u001b[0m \u001b[39m@functools\u001b[39m\u001b[39m.\u001b[39mwraps(dataarray_plot\u001b[39m.\u001b[39mplot, assigned\u001b[39m=\u001b[39m(\u001b[39m\"\u001b[39m\u001b[39m__doc__\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39m__annotations__\u001b[39m\u001b[39m\"\u001b[39m))\n\u001b[0;32m 46\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m__call__\u001b[39m(\u001b[39mself\u001b[39m, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m Any:\n\u001b[1;32m---> 47\u001b[0m \u001b[39mreturn\u001b[39;00m dataarray_plot\u001b[39m.\u001b[39mplot(\u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_da, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)\n", + "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python39\\site-packages\\xarray\\plot\\dataarray_plot.py:279\u001b[0m, in \u001b[0;36mplot\u001b[1;34m(darray, row, col, col_wrap, ax, hue, subplot_kws, **kwargs)\u001b[0m\n\u001b[0;32m 276\u001b[0m plotfunc: Callable\n\u001b[0;32m 278\u001b[0m \u001b[39mif\u001b[39;00m ndims \u001b[39m==\u001b[39m \u001b[39m0\u001b[39m \u001b[39mor\u001b[39;00m darray\u001b[39m.\u001b[39msize \u001b[39m==\u001b[39m \u001b[39m0\u001b[39m:\n\u001b[1;32m--> 279\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mTypeError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mNo numeric data to plot.\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m 280\u001b[0m \u001b[39mif\u001b[39;00m ndims \u001b[39min\u001b[39;00m (\u001b[39m1\u001b[39m, \u001b[39m2\u001b[39m):\n\u001b[0;32m 281\u001b[0m \u001b[39mif\u001b[39;00m row \u001b[39mor\u001b[39;00m col:\n", + "\u001b[1;31mTypeError\u001b[0m: No numeric data to plot." + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
    " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "Ncount.load()\n", "\n",