Skip to content

Commit

Permalink
Merge 4b674d3 into e4b4bfc
Browse files Browse the repository at this point in the history
  • Loading branch information
cwwalter committed Jul 15, 2018
2 parents e4b4bfc + 4b674d3 commit aefaa8f
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
5 changes: 4 additions & 1 deletion bin.src/imsim.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
help='disable sensor effects')
parser.add_argument('--file_id', type=str, default=None,
help='ID string to use for checkpoint and centroid filenames.')
parser.add_argument('--create_centroid_file', default=False, action="store_true",
help='Write centroid file(s).')
parser.add_argument('--seed', type=int, default=267,
help='integer used to seed random number generator')
parser.add_argument('--processes', type=int, default=1,
Expand All @@ -43,7 +45,7 @@
psf = desc.imsim.make_psf(args.psf, obs_md, log_level=args.log_level)

sensor_list = args.sensors.split('^') if args.sensors is not None \
else args.sensors
else args.sensors

apply_sensor_model = not args.disable_sensor_model

Expand All @@ -55,6 +57,7 @@
outdir=args.outdir,
sensor_list=sensor_list,
apply_sensor_model=apply_sensor_model,
create_centroid_file=args.create_centroid_file,
file_id=args.file_id,
log_level=args.log_level)

Expand Down
1 change: 1 addition & 0 deletions data/default_imsim_configs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ full_well = 1e5

[persistence]
eimage_prefix = lsst_e_
centroid_prefix = centroid_

[cosmic_rays]
ccd_rate = 8
Expand Down
16 changes: 14 additions & 2 deletions python/desc/imsim/ImageSimulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,15 @@
# image_simulator to self so that it is available in the callbacks.
image_simulator = None


class ImageSimulator:
"""
Class to manage the parallel simulation of sensors using the
multiprocessing module.
"""
def __init__(self, instcat, psf, numRows=None, config=None, seed=267,
outdir='fits', sensor_list=None, apply_sensor_model=True,
file_id=None, log_level='WARN'):
create_centroid_file=False, file_id=None, log_level='WARN'):
"""
Parameters
----------
Expand Down Expand Up @@ -69,6 +70,7 @@ def __init__(self, instcat, psf, numRows=None, config=None, seed=267,
Logging level ('DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL').
"""
self.config = read_config(config)
self.create_centroid_file = create_centroid_file
self.psf = psf
self.outdir = outdir
self.obs_md, self.phot_params, sources \
Expand Down Expand Up @@ -125,6 +127,11 @@ def _make_gs_interpreters(self, seed, sensor_list, file_id):
self.phot_params,
self.obs_md)

if self.create_centroid_file:
self.gs_interpreters[det_name].centroid_base_name = \
os.path.join(self.outdir,
self.config['persistence']['centroid_prefix'])

@staticmethod
def checkpoint_file(file_id, det_name):
"""
Expand Down Expand Up @@ -164,7 +171,7 @@ def eimage_file(self, det_name):
prefix = self.config['persistence']['eimage_prefix']
obsHistID = str(self.obs_md.OpsimMetaData['obshistID'])
return os.path.join(self.outdir, prefix + '_'.join(
(obsHistID, detector.fileName, self.obs_md.bandpass +'.fits')))
(obsHistID, detector.fileName, self.obs_md.bandpass + '.fits')))

def run(self, processes=1, wait_time=None):
"""
Expand Down Expand Up @@ -280,6 +287,11 @@ def __call__(self, gs_objects):
gs_interpreter.writeImages(nameRoot=os.path.join(outdir, prefix)
+ obsHistID)

# Write out the centroid files if they were made.
gs_interpreter.write_centroid_files()
gs_interpreter.close_centroid_files()


# # The image for the sensor-visit has been drawn, so delete the
# # checkpoint file.
# os.remove(gs_interpreter.checkpoint_file)
Expand Down

0 comments on commit aefaa8f

Please sign in to comment.