Below is what I am trying to do and the error message I am getting.
Thanks a bunch for providing such a useful tool!
datadir = "./"
file_t = os.path.join(datadir, "IFS_file.fits")
clean_param = {"isz": 149, "r1": 70, "dr": 2, "apod": True, "window": 65, "f_kernel": 3}
clip = True
cube_t = amical.select_clean_data(file_t, clip=clip, **clean_param, display=True)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
File ~/.local/lib/python3.8/site-packages/amical/tools.py:70, in crop_max(img, dim, offx, offy, filtmed, f)
69 try:
---> 70 im_med = medfilt2d(img, f)
71 except ValueError:
File ~/.local/lib/python3.8/site-packages/scipy/signal/signaltools.py:1863, in medfilt2d(input, kernel_size)
1861 raise ValueError("Each element of kernel_size should be odd.")
-> 1863 return sigtools._medfilt2d(image, kernel_size)
ValueError: object too deep for desired array
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
Input In [3], in <cell line: 3>()
1 clean_param = {"isz": 149, "r1": 70, "dr": 2, "apod": True, "window": 65, "f_kernel": 3}
2 clip = True
----> 3 cube_t = amical.select_clean_data(file_t, clip=clip, **clean_param, display=True)
File ~/.local/lib/python3.8/site-packages/amical/data_processing.py:598, in select_clean_data(filename, isz, r1, dr, edge, clip, bad_map, add_bad, offx, offy, clip_fact, apod, sky, window, darkfile, f_kernel, verbose, ihdu, display)
595 if add_bad is None:
596 add_bad = []
--> 598 cube_cleaned = clean_data(
599 cube,
600 isz=isz,
601 r1=r1,
602 edge=edge,
603 bad_map=bad_map,
604 add_bad=add_bad,
605 dr=dr,
606 sky=sky,
607 apod=apod,
608 window=window,
609 f_kernel=f_kernel,
610 offx=offx,
611 offy=offy,
612 darkfile=darkfile,
613 verbose=verbose,
614 )
616 if cube_cleaned is None:
617 return None
File ~/.local/lib/python3.8/site-packages/amical/data_processing.py:482, in clean_data(data, isz, r1, dr, edge, bad_map, add_bad, apod, offx, offy, sky, window, darkfile, f_kernel, verbose)
479 img1 = _remove_dark(img1, darkfile=darkfile, verbose=verbose)
481 if isz is not None:
--> 482 im_rec_max = crop_max(img1, isz, offx=offx, offy=offy, f=f_kernel)[0]
483 else:
484 im_rec_max = img1.copy()
File ~/.local/lib/python3.8/site-packages/amical/tools.py:73, in crop_max(img, dim, offx, offy, filtmed, f)
71 except ValueError:
72 img = img.astype(float)
---> 73 im_med = medfilt2d(img, f)
74 else:
75 im_med = img.copy()
File ~/.local/lib/python3.8/site-packages/scipy/signal/signaltools.py:1863, in medfilt2d(input, kernel_size)
1860 if (size % 2) != 1:
1861 raise ValueError("Each element of kernel_size should be odd.")
-> 1863 return sigtools._medfilt2d(image, kernel_size)
ValueError: object too deep for desired array