Skip to content

Commit 82e2100

Browse files
committed
Version bumps
1 parent b8e447f commit 82e2100

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

arrakis/imager.py

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -580,14 +580,26 @@ def make_cube(
580580
logger = get_run_logger()
581581

582582
logger.info(f"Creating cube for {pol=} {image_set.ms=}")
583-
image_list = image_set.image_lists[pol]
583+
image_list = [Path(i) for i in image_set.image_lists[pol]]
584584

585585
image_type = "restored" if aux_mode is None else aux_mode
586586

587+
# Create a cube name
588+
old_name = image_list[0]
589+
out_dir = os.path.dirname(old_name)
590+
old_base = os.path.basename(old_name)
591+
new_base = old_base
592+
b_idx = new_base.find("beam") + len("beam") + 2
593+
sub = new_base[b_idx:]
594+
new_base = new_base.replace(sub, ".conv.fits")
595+
new_base = new_base.replace("image", f"image.{image_type}.{pol.lower()}")
596+
new_name = Path(out_dir) / new_base
597+
587598
# First combine images into cubes
588-
hdu_list, freqs = combine_fits(file_list=image_list, create_blanks=True)
589-
new_header = hdu_list[0].header
590-
data_cube = hdu_list[0].data
599+
_ = combine_fits(file_list=image_list, out_cube=new_name, create_blanks=True)
600+
with fits.open(new_name, mode="denywrite", memmap=True) as hdu_list:
601+
new_header = hdu_list[0].header
602+
data_cube = hdu_list[0].data
591603

592604
# Add pol angle to header
593605
new_header["INSTRUMENT_RECEPTOR_ANGLE"] = (
@@ -610,16 +622,6 @@ def make_cube(
610622
# Calculate rms noise
611623
rmss_arr = mad_std(data_cube, axis=(1, 2, 3), ignore_nan=True)
612624

613-
# Create a cube name
614-
old_name = image_list[0]
615-
out_dir = os.path.dirname(old_name)
616-
old_base = os.path.basename(old_name)
617-
new_base = old_base
618-
b_idx = new_base.find("beam") + len("beam") + 2
619-
sub = new_base[b_idx:]
620-
new_base = new_base.replace(sub, ".conv.fits")
621-
new_base = new_base.replace("image", f"image.{image_type}.{pol.lower()}")
622-
new_name = os.path.join(out_dir, new_base)
623625
# Deserialise beam
624626
with open(common_beam_pkl, "rb") as f:
625627
common_beam = pickle.load(f)
@@ -633,9 +635,9 @@ def make_cube(
633635
# 0 1234.5
634636
# 1 6789.0
635637
# etc.
636-
new_w_name = new_name.replace(
637-
f"image.{image_type}", f"weights.{image_type}"
638-
).replace(".fits", ".txt")
638+
new_w_name = Path(
639+
new_name.as_posix().replace(f"image.{image_type}", f"weights.{image_type}")
640+
).with_suffix(".txt")
639641
data = dict(
640642
Channel=np.arange(len(rmss_arr)),
641643
Weight=1 / rmss_arr**2, # Want inverse variance

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ RMTable = ">=1.2.1"
6363
RM-Tools = ">=1.4.2"
6464
PolSpectra = ">=1.1.0"
6565
setuptools = "*"
66-
fixms = ">=0.2.6"
67-
fitscube = ">=0.3"
66+
fixms = ">=0.3.3"
67+
fitscube = ">=0.5.1"
6868
psycopg2-binary = "*"
6969
sqlalchemy = "*"
7070
scikit-image = ">=0.23"

0 commit comments

Comments
 (0)