[INSTRM-1385] Make MCS readouts more efficient: pipe reads to mcsActor w/o going to disk Created: 08/Oct/21  Updated: 21/Nov/21  Resolved: 21/Nov/21

Status: Done
Project: Instrument control development
Component/s: ics_mcsActor
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: cloomis Assignee: chyan
Resolution: Done Votes: 0
Labels: EngRun
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks INSTRM-1414 Update blackspot geometry Done
Duplicate
is duplicated by INSTRM-1396 Improve MCS exposure times Won't Fix
Relates
relates to INSTRM-1425 MCS readout efficiency: write the PFS... Done
relates to INSTRM-1426 MCS readout efficiency: mask off non-... Done
relates to INSTRM-1397 Fast SpS reads for cobra moves behind... Done
Story Points: 3
Sprint: PreEngRun4, EngRun3Cleanup

 Description   

The canonexp readout and mcs exposure processing take significantly more time than we want, and can be made more efficient. As it stands a single 0.8s exposure takes more than 10s. From looking at the timings, three obvious improvements are:

  • run the canonexp library routines in a permanently running daemon, which can pipe N*0.8s reads to the mcsActor without going to disk.
  • likewise, write the PFSC files in a background process, so that nothing waits on the writes.
  • mask off the non-PFI parts of the image and otherwise tune the background subtraction and centroiding.

This ticket addresses the first of these improvements.



 Comments   
Comment by chyan [ 26/Oct/21 ]


Canon did not provide the library for the camera, so we just use it 'as it is'. So, the first option is not the feasible path before the e-run.

Comment by cloomis [ 27/Oct/21 ]

The canonexp.c program can at the very least pipe the output to the caller, right? There should be no file writes between the expose command and the generation of the mcs_data, etc. rows.

Comment by hassan [ 27/Oct/21 ]

Chi-Hung requires more time to think about this. This will be fixed at the end of this week or early next week.

Comment by chyan [ 16/Nov/21 ]

Discussed with Craig couple hours ago, the current low level calls are not easy to transform with Cython.  This is because the C program deals with shutter and detector readouts.  Also those low level call has to maintain the synchronicity, so that the exposure time will exactly the same.  Using Cython is a ultimate goal to do, but we can use standard output as work around.

Comment by chyan [ 21/Nov/21 ]

Branch test on telescope and merged to master.  Now working on for canon 50M.

Generated at Sat Feb 10 16:34:54 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.