Subsections


6. Resolve Data Analysis


6.1 Introduction

The unprecedented spectral resolution in the hard ($>$2 keV) band is the hallmark of Resolve data. It can be realized through the High primary events (Hp) among the five X-ray grade events (Tables 4.1 & 6.1; see also POG for details), which constitute the majority of X-ray events for faint sources. This instruction assumes that users analyze data using only Hp events. The Mid primary (Mp) events also have excellent spectral resolution but with a small absolute spectral gain uncertainty, while the Mid secondary (Ms) events also have good energy resolution, although they are not yet calibrated enough for spectral analysis. Users who need photon statistics may also consider using these grade events. Section 6.4 describes how to choose specific grades for analysis.

We strongly encourage users to familiarize themselves with the Resolve detector properties described in Chapter 5 in POG. There are ongoing efforts on the detector response calibration. Please check Section 2 and the XRISM web page regularly for the latest information.


Table 6.1: Effective, Whole-Array Spectral Resolution of Resolve Grades
Grade FWHM@6 keV$^{\star}$ Note
Hp 4.5 eV well calibrated with the best spectral quality
Mp 4.8 eV well calibrated with a small spectral gain uncertainty
Ms $\sim$6 eV usable for photometry but not for spectroscopy $^{\ddagger}$
Lp $\sim$15$-$18 eV $^{\dagger}$ currently unusable without calibration in flight
Ls currently unusable, and no plans for calibration

Note. $^{\star}$There are pixel-to-pixel energy resolution variations. $^{\dagger}$An approximate value throughout the Resolve sensitivity range. $^{\ddagger}$Future calibration is planned.



6.2 Faint Source or Bright Source?

Resolve 's data quality changes with count rates. One notable cause is the changing grade branching ratio, the fraction of events that have a particular event grade. For an on-axis point source, the fraction of Hp events, which have the highest energy resolution, significantly decreases and the other low resolution grades increase above the threshold count rate of $\sim$1 cts s$^{-1}$ array$^{-1}$ (Figure 5.9 in POG). Table 6.2 lists all causes and their threshold count rates. We define datasets that satisfy at least one of these conditions as Resolve Bright sources and the others as Resolve Faint sources.

Under the Gate Valve closed condition, the majority of point sources and nearly all extended sources fall in the Resolve Faint sources. Note that the threshold ($i$) in Table 6.2 is for point sources: the change occurs on a pixel basis, so extended sources, whose X-rays spread more evenly over multiple pixels, have a higher tolerance. Some point sources may exhibit rapid flares or outbursts that exceed the Bright source threshold for brief intervals; these need to be analyzed separately based on branching ratio/flux. Also, instrumental noise may sporadically increase the count rate under special space weather conditions, although XRISM's non-X-ray background has been relatively stable. Users should be aware of these issues by referring to Chapter 8 in the POG.

We have been studying the instrumental response to the Bright sources. This document primarily describes the reduction procedure for Faint sources and also outlines known measures for Bright sources.


Table 6.2: Bright Source Criteria
  Cause Threshold Section
    (cts s$^{-1}$)  
$i$ Hp grade branching ratio declines$^\dagger$ $\sim$1$^\ddagger$ 6.4.3
$ii$ Anomalous Ls events complicate the efficiency evaluation$^\dagger$ $\sim$1 6.7.1
$iii$ Pixel-pixel coincidence false positive dominates $\sim$3.7 6.4.2
$iv$ Pulse Shape Processor processing overflows $\sim$200 6.4.1
$v$ Untriggered electrical cross-talk contaminates X-ray pulses $\gg$ 1 6.4.2

The threshold count rate applies to the entire pixel array. $^\dagger$See Figure 5.9 in POG. $^\ddagger$point-source observations.



6.3 Cleaned Event File

The pipeline (see Section 5.5) creates 2 cleaned event files in the resolve/event_cl directory.

xa000126000rsl_p0px1000_cl.evt
xa000126000rsl_p0px5000_cl.evt

The first file corresponds to the science data. The digit after px can be 1$-$4, depending on the X-ray filter chosen for the science observation (see Section 4.3). The file is screened with the standard screening condition in Table 5.1 unless users change the screening condition. The second file (px5000) contains the data obtained during the gain calibration for each observation using the $^{55}$Fe radioactive source on the #6 filter wheel. The directory may include one more event file, "*_p0px0000_cl.evt", which includes data not optimal for the primary target. Users further reduce the first cleaned event file for their scientific analyses.


6.4 Additional Screenings

We recommend that users consider the following additional screenings for the cleaned events. The pipeline does not perform these processes primarily because the applications depend on the science goal, observation condition, or the nature of the target. We recommend running some processes on a Unix terminal while the others can be done more easily on xselect after loading event data (Section 6.6.2), partly for historical reasons. The label below each section title shows, from left to right, the screening object (Time or Event), the source type (Bright, Faint), the importance, and the method (Term or Xsel). Unix terminal command examples are designated as "term>" while xselect commands are designated as "xsel>".


6.4.1 Excluding the PSP Processing Overflow Intervals

Time/Bright/Highly recommended/Term & Xsel

There is a limit to the number of events that can be processed by the Pulse Shape Processor (PSP) in a given time: $\sim$50 counts/s/quadrant6.1, including spurious and background events (Section 5.3.5 in the POG). The exceeding events are lost onboard and unrecoverable. Data obtained during overflow intervals are less reliable and should be removed unless deemed necessary.

The XRISM FTOOLS, rslbratios, updated with the HEASoft ver. 6.37, feeds an unfiltered event file and outputs GTIs with event rates below the PSP event processing limit or the PSP limit, in short. The actual PSP limit count rate fluctuates because processing time differs across event grades, and therefore depends on the event grade branching ratios. The tool has the hidden option psplim, which gives a fraction of 50 cts/s — the nominal PSP limit for a quadrant pixel array — to flag the PSP limit violation; the default value is 0.9, corresponding to 45 cts/s.

The GTI screening can be applied with the xselect filter command.

term> rslbratios xa000126000rsl_p0px1000_uf.evt uf ufbratio020120 2-12 no

Make sure to feed the unfiltered event file, including all processed events, before screening. Faint source data are not expected to exceed the PSP limit, but there may be intervals with strong background enhancement, so we recommend that all users run the tool to check count rate spikes.


6.4.2 Screening Out Pixel-Pixel Coincident Events

Event/Faint & Bright (moderately)/Highly recommended/Term

When energy is absorbed into the silicon frame around the Resolve array, it pulses the temperature of the heat sink of all of the pixels, resulting in pulses in the temperatures of the pixels themselves. For very large depositions of energy (MeV scale), the resulting pulses on the pixels can produce signals that trigger in the Pulse Shape Processor (PSP). We refer to the resulting clusters of events as frame events. Most of these events have significantly different pulse rise times from regular events, so they can be removed efficiently with a rise time cut. Because Ls events have a very large spread in rise times, Ls events are excluded from the cut.

Frame events can also be identified by pixel-pixel coincidence and removed by screening on STATUS[4]. The rise-time and STATUS[4] cuts largely remove the same events, but coincidence screening is more effective at very low energies, for which the determination of rise time is noisy. STATUS[4] also removes rarer background events that can be identified by coincidence, such as secondary events associated with the same primary cosmic ray. So, for weak sources for which the probability of two source photons hitting the array within the $\pm$0.72 ms coincidence window is negligible, the STATUS[4] cut is a useful multi-purpose cleaner. The false-coincidence probability exceeds the frame rate $\sim$0.02 cts/s above $\sim$3.7 cts/s6.2, causing the STATUS[4] cut to excessive data loss. In that case, the STATUS[4] screening may better be omitted.

Currently, electrical-crosstalk screening with STATUS[6] is not recommended. By requiring PI$>=$600, both for analysis and for flagging pixel-pixel coincidence, the only cross-talk events in the data will be associated with very energetic parent events ($>$12 keV) most of which are background events, and a STATUS[4] cut will remove both events. However, cross talk that is much too small to be confused with an X-ray can still be large enough to contaminate a real pulse if it overlaps with it. Thus, the coincidence of normal events on electrically adjacent channels is flagged (STATUS[13]) so that these events can be removed from spectral analysis. The window of overlap over which such contamination can significantly degrade the determination of the photon energy is large, $\pm$25 ms. For bright sources, consider screening on STATUS[13] and comparing the result to the case of retaining such events.

The Resolve instrument team and the SDC are currently working to refine the various pixel-pixel coincidence definitions (general (STATUS[4]), electrical cross talk (STATUS[6]), and coincident real events that contaminate each other via untriggered crosstalk (STATUS[13])) through criteria based on PI threshold, PI ratio, and group size, to minimize the overlap in the definitions and allow more precise cleaning at the lowest energies.

To apply screening on PI, rise time, and STATUS[4], execute the following HEASoft command on the Resolve cleaned event file.

term> ftcopy infile="xa000126000rsl_p0px1000_cl.evt[EVENTS][(PI>=600)
&&(((((RISE_TIME+0.00075*DERIV_MAX)>46)&&
((RISE_TIME+0.00075*DERIV_MAX)<58))&&ITYPE<4)||(ITYPE==4))&&
STATUS[4]==b0]" outfile=xa000126000rsl_p0px1000_cl2.evt 
copyall=yes clobber=yes history=yes

The XRISM FTOOLS, rslbratios, shows how many events the rise time and pixel-to-pixel coincidence (proximity) filters remove. The tool outputs spectral histograms of events excluded by the rise-time and/or pixel-pixel coincidence screenings. Here is a command example.

term> rslbratios xa000126000rsl_p0px1000_cl.evt cl clbratio020120 2-12 no

This command outputs multiple diagnostic files. The relevant spectral files have the following postfixes of filenames after the outroot option string: “_prox_Hp_spectra.fits" (STATUS[4] proximity screening), “_rise_Hp_spectra.fits" (rise-time screening), and “_rise_prox_Hp_spectra.fits" (combined screening). These FITS histograms have special binning and should not be fed into xspec. The first extension contains the spectrum derived from the screening, and the second extension contains a histogram of removed events. To browse the event histogram of the proximity screening, use FTOOLS fplot.

term> fplot clbratio020120_prox_Hp_spectra.fits\[2\] PI DIFF - /xw ""


6.4.3 Selecting with Event Grades

Event/Faint & Bright/Highly recommended/Term or Xsel

The cleaned event files processed with the standard screening include the five X-ray grade events, Hp, Mp, Ms, Lp, and Ls (ITYPEs 0$-$4), each having a different spectral resolution. The High and Mid-resolution-primary events (Hp and Mp) achieve the highest energy resolution (see Section 5.3.3 in POG), while the other events have up to $\sim$6 times worse spectral resolutions (Table 6.1). Users who want to take full advantage of the Resolve 's spectral resolution should consider using Hp and Mp events.

The Hp and Mp events have a small but potentially significant energy discrepancy. The initial Hp and Mp event signals have a spectral gain offset of $\sim$3 eV, which is caused by a temperature difference inside the onboard XBOX signal processing circuit. The instrument team studied the behavior, and the XRISM FTOOLS rslmpcor, implemented in the processing pipeline, or xapipeline after HEASoft version 6.35, corrects the Mp energy gain offset. The correction reduces the gain offset down to $\sim$0.5 eV at 5.9 keV. However, this tiny offset is still larger than the current Hp event-only gain calibration, which is $\lesssim$0.1 eV, so that merging the Hp and Mp events into a single dataset degrades the spectral quality and is thus highly discouraged. See Appendix A in Quick Start Guide v3.2 or later for details.

A simple solution is not to use Mp events for spectral analysis. As shown in Figure 5.9 of the POG, Mp events are a few percent or less below $\sim$3 cts/s/array, which includes the majority of the XRISM observations; that is, they are statistically insignificant in most cases. If a source is relatively bright with non-negligible Mp events, users may produce Hp and Mp spectra separately and fit them jointly. In that case, they should check whether adding a Mp spectrum introduces any systematic bias.

The other lower-grade events are currently limited in calibration quality. The Lp and Ls events have both spectral and photometric issues, particularly the Ls events, which likely include multiple false X-ray events. These events would not be usable for any analysis, at least in the foreseeable future. The Ms events have a spectral issue, but not a photometric one. They can be used for imaging or light-curve analysis, including for a relatively narrow ($\sim$10 eV) energy band. The instrument team also plans detailed spectral calibration of the Ms events in the near future.

The XRISM FTOOLS, rslbratios, is useful for instantly checking the event grade fractions of a cleaned event file.

term> rslbratios xa000126000rsl_p0px1000_cl.evt cl clbratio020120 2-12 yes

This command example takes the last lcurve option "yes", so that the tool produces three light curve files containing various grade count rates and grade fractions, which may be useful for dealing with bright sources.

To select only Hp events for spectral analysis, type on the xselect command line,

xsel> filter GRADE 0:0

For creating an Mp spectrum, change “0:0" to “1:1" in the above command. We note that a grade selection would be unnecessary for image or light curve analysis, unless users aim to analyze very narrow-band ($\lesssim$30 eV) band data. Users should be aware that Hp-only light curves can be artificially suppressed above the $\sim$1 cts/s threshold with the decline of the Hp grade branching ratio (see also Section 6.2).


6.4.4 Excluding Events from Pixel 27 (and Other Noisy Pixels)

Event/Faint & Bright/Highly recommended/Term or Xsel

Pixel 27 at an edge of the array (Figure 5.1 in POG) has significantly different gain variation characteristics from the other pixels. Including its data can degrade the spectral energy resolution. Add the following filtering condition to exclude Pixel 27 events from your data.

xsel> filter column "PIXEL=0:11,13:26,28:35"

Users must also exclude this pixel from the pixel list or the detector region when generating RMF+ARF or rsp response (Section 6.7). Since this pixel is on the edge of the pixel array, an on-axis point source loses only a fraction of events. The above formula also excludes the calibration pixel 12, but the description is redundant as the science cleaned event data do not contain pixel 12 events.

There may be more pixels with elevated noise levels over time. In fact, pixel 7 experienced elevated noise levels between 2025-5-29 10:00 and 2025-07-23 14:00, significantly degrading spectral resolution during this interval. Users are advised to check the information available on TTWOF and the calibration report for the observation and exclude noisy events if necessary. Appendix B of the Quick-Start guide also instructs how to remove noisy pixel data that are present only for a limited time interval in an observation.


6.4.5 Excluding High Particle Background Periods

Time/Faint/Depending on the science goal/Xsel

Particle background in low Earth orbits is roughly inversely correlated to the geomagnetic cut-off rigidity or COR. Excluding low COR intervals may improve the signal-to-noise ratio of relatively faint sources, with a sacrifice of exposure time. If the background contribution is not negligible, users may study the dependence of the signal quality on the COR.

The standard screening does not exclude data with the COR value. The HK file, xa000126000.ehk, collects four different COR values during the observation (COR, COR2, COR3, CORTIME). CORTIME is the latest available table, and should best reflect the COR condition on XRISM orbit. The following xselect command selects only the CORTIME$>$6 interval.

xsel> select mkf "CORTIME.gt.6" mkf_name=xa000126000.ehk
   mkf_dir=path/to/ehk/directory

A caveat is that users cannot use the command's prompt mode for this selection; they must type all the command option on an xselect command line. Typing only xselect> select mkf automatically launches the "FIND MKF" task, which searches for an mkf file in the specified filter file directory. However, the XRISM mkf files (xaOBSID .mkf) do not contain the COR information, so xselect returns an error not finding the CORTIME column.


6.4.6 Excluding Off-Pointing Intervals

Time/Subarray Analysis/Depending on the science goal/Xsel

The Resolve arf generator only supports data in the DET coordinates, which does not correct the observatory's attitude fluctuation. XRISM 's attitude control switches between the star tracker control and the inertial reference unit (IRU) propagation in every $\sim$96-minute orbital cycle. During the IRU propagation periods, the attitude typically drifts by around 10$-$15 arcseconds, about half of the Resolve pixel size. This drift affects approximately 20% of typical Resolve GTIs, so users should be cautious in possible excursions of the FOV.

The standard cleaned event files include any data with pointing offsets within 1.5 arcmin from the aiming point (ANG_DIST in Table 5.1). If users need a stricter limit to suppress spatial contamination, the following command constrains the pointing allowance within 0.1 arcmin from the nominal aim point.

xsel> select mkf "ANG_DIST.lt.0.1" mkf_name=xa000126000.ehk
   mkf_dir=path/to/ehk/directory

This screening cannot entirely exclude pointing offsets that could remain during the attitude control transition phases, each of which may take up to 4 minutes to converge. We plan to introduce a more straightforward and effective method in a future guide. We note that this drift does not affect the standard Xtend data analyses using the SKY coordinates.


6.4.7 Relaxing Screening Criteria

Time or Event/Special Analysis/Expert use only/Term

If users understand Resolve data well and want to relax the screening criteria in Table 5.1 or extract data under a different condition, they may rescreen data with xapipeline with appropriate options. In this case, a run starting from stage 2 (entry_stage=2) saves processing time (see Section 5.5).


6.5 Additional Processing


6.5.1 Refining the Absolute Event Arrival Time

Event time info/Pulse search/Analysis requiring an extreme time resolution/Term

The pre-pipeline tool records the event-triggered time for each event, but it has a time lag of $<$100 $\mu$sec from when the event arrives at the detector. This method recalibrates the event time to represent the accurate event arrival time. The time lags depend on the event grade: $\sim$20 $\mu$sec for Hp events. This recalibration is helpful for analyzing extremely fast-pulsating sources.

Users must first install the Resolve CALDB version 20260315 or later, which includes the Resolve time coefficients file xa_rsl_coeftime_20190101v005.fits, and then run rslsamcnt and xatime. This process can be applied to either an unfiltered or a cleaned event file, but before any processing that alters the TIME column (e.g., barycentric correction). The following shows an example command for a cleaned event file.

term> rslsamcnt infile=xa000126000rsl_p0px1000_cl.evt
   outfile=xa000126000rsl_p0px1000_sc260315_cl.evt
term> xatime infile=xa000126000rsl_p0px1000_sc260315_cl.evt
   outfile=xa000126000rsl_p0px1000_sc260315xat_cl.evt 
   timefile=xa000126000.tim lookupfile=xa000126000rsl_a0.hk1


6.5.2 Barycentric Correction of the Event Arrival Time

Event time info/Pulse search/Depending on the science goal/Term

With a timing resolution of $\sim$80$\mu$sec, Resolve is also good for pulse searches. The following command converts the event time to those in the solar system barycenter time system.

term> barycen xa000126000rsl_p0px1000_cl2.evt
   xa000126000rsl_p0px1000_bc_cl2.evt xa000126000.orb 81.2596 -69.6441
   orbext=ORBIT

Users must specify the orbext hidden option at ORBIT because the default value, PAR_ORBIT, does not work for XRISM data. Users must also set the precise target position in the RA and DEC options to get the best timing information for the target.

We note that this tool does not correct the spectral energy shift induced by the satellite's radial motion toward the source in the barycentric system.


6.6 Extracting Products with Xselect

Xselect is the primary tool for extracting Resolve data products. It can filter events with areas, times, energies, or event flags and use the filtered events to create images, light curves, and spectra.


6.6.1 Loading Event Data

Go to the analysis/ directory, start a new xselect session, and read a Resolve cleaned event file with science data:

term> xselect
> Enter session name >[xsel]
xsel> read events xa000126000rsl_p0px1000_cl2.evt .

On the second row, users may choose any session name. This example simply hits the carriage return to choose the default session name, xsel. After entering the third command, xselect may prompt you to confirm that the new mission name is XRISM. If so, return for responding yes.


6.6.2 Applying Additional Screening Criteria

Type xselect commands in Section 6.4 after loading event data for additional screenings.


6.6.3 Extracting Images

The following commands create a 2$-$10 keV SKY image.

xsel> set image sky
xsel> filter pha_cut 4000 19999
xsel> extract image
xsel> saoimage

The first command sets the image format to SKY. The SKY format uses a much smaller pixel size than the physical pixels in Resolve (see section 4.5.1). They show multiple fine pixels inside a box corresponding to Resolve 's physical pixel, but these structures are artificial and should not be considered to reflect the source's spatial distribution. To make a DET image, change the last option of the first command from sky to det.

Users can create an image in any energy band within the Resolve sensitivity range by adjusting the filter pha_cut options in the second command. Users can look up the energy$-$PI relation in the EBOUND extension of a Resolve RMF file, or calculate the PI values using the relation for Resolve in Section 4.5.2.

Users can save the image by typing:

xsel> save image N132D_rsl_sky_020100.img

Finally, remove the PI filter for further reductions if necessary.

xsel> clear pha_cutoff


6.6.4 Region (Pixel) Selection for Light Curve or Spectral Analysis

Resolve 's FOV is comparable to the mirror PSF size. If users analyze a point source at the aim point with negligible contamination from surrounding sources, they can select all pixels for light curve or spectral extractions. No spatial selections are necessary.

However, some users may study spatial structures of extended sources within the FOV or exclude areas with contamination from nearby sources. Then, they need to extract events from a sub-array region. The Resolve spectrum response generator only supports analysis in the DET coordinates. Since Resolve has only 35 pixels, we recommend that users define Resolve event extraction regions with pixel numbers. The following example extracts events from half of the pixels on the larger DETX side, except for Pixel 27 (see Figure 5.1, Resolve pixel map in POG).

xsel> filter column "PIXEL=0:8,28:35"

Users should investigate if attitude fluctuation during the observation is insignificant concerning the source extraction regions (Read Section 6.4.6 for details).


6.6.5 Extracting Light Curves

The following example extracts a 128 sec bin light curve in the 2$-$10 keV band.

xsel> filter pha_cutoff 4000 19999
xsel> set binsize 128.0
xsel> extr curve exposure=0.0
xsel> save curve N132D_rsl_b128.lc

If users want to exclude bins with short exposure, i.e., low statistics and larger error bars, increase the exposure option value between 0.0$-$1.0 (see the xselect extract manual).

The grade branching ratios significantly change with the source count rates above $\sim$1 cts s$^{-1}$ array$^{-1}$ for an on-axis point source (see Chapter 6.2, Figure 5.9 in POG). Above this threshold, the Hp (+ Mp) count rate is nonlinear with the source flux. Users should use all X-ray event grades (Hp, Mp, Ms, Lp)6.3 to track the flux variation.

Finally, remove the PI filter for further reductions if necessary.

xsel> clear pha_cutoff


6.6.6 Extracting Spectra


Whole Spectrum

The following commands extract and save a Resolve spectrum of the whole observation. Here, we extract only high-res primary (Hp) events using the grade filter.

xsel> filter GRADE 0:0
xsel> extr spectrum
xsel> save spectrum N132D_rsl_Hp_src.pi

Remove the grade filter for further reductions if necessary.

xsel> clear grade


Time-resolved spectrum

Extracting a time-resolved spectrum requires a few additional steps. First, users set up a time filter. The xselect filter command provides several methods for applying a time filter to the data. Please read the filter time section in the xselect user manual for the available methods. Here assumes that users determine the start and end times of the time interval. Users convert those times to the XRISM time system using xTime, and write them in the first row of the ascii file N132D_int0.gti. Users, then, feed the file using the filter command.

xsel> filter time file N132D_int0.gti

The RMF response generator needs an event file of this time interval. Users make one with the "extr events" command.

xsel> extr events
xsel> save events N132D_rsl_int0.evt
> Use filtered events as input data file ? >[yes] no

Type "no" to the last question, or users cannot use event data outside of this time interval afterward. Do not apply a grade filter as the event file needs all X-ray Grades (0$-$3) events.

After this operation, users set a grade filter and extract a spectrum.

xsel> filter GRADE "0:0"
xsel> extr spectrum
xsel> save spectrum N132D_rsl_Hp_int0_src.pi

Users may repeat this procedure to create spectra at other intervals. Before moving to the next interval, make sure to initialize the time and grade filter setups.

xsel> clear time
xsel> clear grade


6.7 Generating Instrumental Responses

An extracted spectrum needs the corresponding instrument response for spectral analysis. The response is conventionally divided into two parts. The Redistribution Matrix File (RMF) describes how the detector redistributes X-rays onto the detector PI channels. It is a 2-dimensional matrix that maps photon energy bins to the PI space. The Ancillary Response File (ARF) describes the energy-dependent effective collecting area of the mirror multiplied by the filter and detector quantum efficiencies for an assumed X-ray source. It is a one-dimensional matrix with the RMF's photon energy bins. Resolve and Xtend share the ARF generation software.

The detector's energy resolution changes with event grades6.4, so an RMF should be created for each event grade spectrum. A unique characteristic of the Resolve instrument is that the energy resolution of an event grade does not change for Bright sources, though the fraction of the high-resolution (Hp) grade declines (See also Section 6.2), so users can exploit the full advantage of the Resolve energy resolution for Bright sources as well. To evaluate the effective area of the selected event grade, the Resolve response generator measures the selected grade fraction in the input event file, assuming that events in the file represent the source emission and the source emission only.

Figure 6.1: Left: Ls/Hp ratio over the highest count rate pixel (black dot: on-axis point source, red cross: extended source, blue circle: off-axis or other source). Below 0.2 cts/s/pixel where the first Ls component dominates, the Ls fraction increases as the source count rate decreases. Above 0.2 cts/s/pixel where the second Ls component dominates, the Ls fraction increases strongly as the source count rate increases. Right: Hp fraction over the total event counts including (red)/excluding (blue) Ls events from 48 point source data. The fractions of these two cases do not change until 2-3 cts/s, but then start to deviate.
\begin{figure}\centering
\includegraphics[width=\textwidth]{Figure/LsAnomaly.pdf}
\end{figure}


6.7.1 The Anomalous Ls Event Issue

Before instructing the response file generation procedure, we introduce an issue found during in-flight observations that helps clarify some procedures.

The instrument team defines five event grades, Hp, Mp, Ms, Lp, and Ls, as X-ray grade events, and builds an analysis scheme to measure an event fraction among these five event grades to calculate the effective area. However, in-flight observations have found that there are more Ls events than expected from ground studies and theoretical expectations, suggesting that these so-called anomalous Ls events do not originate from direct X-ray signals from celestial objects. The scheme would get the net effective area wrong (sometimes by as much as a factor of 2) if the false Ls events are included as a part of the direct X-ray signals.

The anomalous Ls events have two components (Figure 6.1 left). The component that is prominent at low count rates ($\lesssim$0.4 cts/s/pixel) does not correlate with the source count rate, likely originating from cosmic-ray particles or other sources unrelated to the source X-rays. Another component is more outstanding above 1 cts/s/pixel in the 0$-$30 keV pixel count rate range. This component correlates with the source count rate, so it can originate from secondary signals produced by (probably energetic) source X-rays. The following describes the current best workarounds.

Faint source (maximum pixel count rate below $\sim$0.4 cts/s/pixel or $\sim$1 cts/s for a point source): they produce negligible Ls events, so Ls events are safely excluded from the X-ray grade events.

Moderately Bright source (up to $\sim$10 cts/s for a point source): they produce some secondary Ls events, but the contribution is not so significant between 3$-$10 keV, where Resolve is most sensitive. Users can exclude the Ls grade from the X-ray grades with the understanding that the derived source flux is strictly a lower limit, as some Ls events would be from the source.

Bright source ($>$10 cts/s for a point source): they produce more secondary Ls events in a complicated manner. We do not yet have a good solution to evaluate the contribution, which is energy dependent: their absolute flux and global spectral shape are highly uncertain. We recommend that users limit analyses of any grade (including Hp-only) events to narrow energy bands.

6.7.2 Overview of the Resolve Response Generator

The Resolve response generator was initially developed in line with the conventional method — producing an RMF and an ARF separately. The XRISM FTOOLS suite has rslmkrmf for RMF and xaarfgen for ARF from the initial release, which work fine for Faint sources. This method saves disk space when users consider multiple X-ray sources with different spatial distributions (e.g., a point source and the cosmic X-ray background); each source needs its own ARF, but all sources can share an RMF, which can take up significant disk space.

This method, however, does not produce correct responses for Bright sources. High count rate pixels, typically the PSF core of a point source with more effective areas to the source, have more photon counts, resulting in less Hp event fractions and so effective areas. However, xaarfgen does not account for the pixel-to-pixel grade fraction variation, averaging it across entire pixels, even though the effect is non-linear. Thus, the team developed the new response generator, rslmkrsp, which shares the basic algorithm with rslmkrmf and xaarfgen but accounts for variation in grade fractions. The tool outputs a single response file (RSP) that combines RMF and ARF. This tool can also be used for Faint sources, but the improvement is incremental.

The following subsections instruct how to produce a response using these methods. Both methods go through subsection 6.7.3 to create an exposure map file. Then the conventional RMF+ARF method follows Subsection 6.7.4. The RSP method follows Subsection 6.7.5, but users should also read Subsections 6.7.4.2 & 6.7.4.3 for the conventional methods for the command option details. The last subsection, 6.7.6, briefly introduces a spatial spectral-mixing analysis for extended or point sources with significant contamination from surrounding sources.


6.7.3 Creating an Attitude Histogram

The XRISM ARF generator can account for attitude fluctuations during an observation, which can be useful for Resolve spectral analyses that only support the DET coordinates. For that purpose, users first create an observatory’s attitude distribution histogram during the observation using xaexpmap. As the name suggests, the tool creates an exposure map in the first extension of the output FITS file, whereas the ARF generator uses the attitude histogram table in later extensions, which describes the exposure fraction for each pointing direction.

The histogram tabulates the exposure fraction for a number of discrete attitude bins selectable to some degree, by the xaexpmap input parameters delta and numphi. These parameters specify a number of regions within concentric annuli centered on the optical axis, with the first region being a full circle of radius delta arcmin. The parameter numphi divides the $N$-th annulus into numphi$\times N$ equal-area sectors, where $N$=1 is the first annulus surrounding the central circle. The tool determines the number of annuli from the maximum off-axis angle in the data.

The above setup is complicated, but the good news is that XRISM has had excellent pointing stability, so that most Resolve analyses do not need to consider attitude fluctuations. Choosing a delta much larger than any attitude fluctuation achieves a single-bin approximation in the attitude histogram. Since the standard pipeline screening excludes any data with an offset greater than 1.5 arcmin (ANG_DIST $>$1.5 arcmin; see Table 5.1), the following command, delta=20 and numphi=1, produces a single-bin attitude histogram that does not account for attitude fluctuations.

term> punlearn xaexpmap
term> xaexpmap ehkfile=xa000126000.ehk gtifile=xa000126000rsl_p0px1000_cl2.evt
   instrume=RESOLVE badimgfile=NONE pixgtifile=xa000126000rsl_px1000_exp.gti
   outfile=N132D_rsl.expo outmaptype=EXPOSURE delta=20.0 numphi=1

Sub-array analyses with small source-extraction regions may need to account for attitude fluctuations. In that case, a delta below 1.5 arcmin yields more than one attitude bin. A caveat is that the computation time for generating ARFs increases with the number of attitude bins, and can become problematic when there are too many.


6.7.4 Generating a Response with the Conventional (RMF+ARF) Method


6.7.4.1 Preparing a Cleaned Event File with All X-ray Grade Events

First, we produce an event file for evaluating the grade branching ratio of the selected grade using rslmkrmf. The event file should include all X-ray events and X-ray events only during the source spectrum's time interval, at the best estimate. As explained in Sub-section 6.7.1, most Ls grade events from Faint and moderately Bright sources should be excluded. So users may pick the cleaned event file with all the screenings but the event grade selection from Section 6.4, and then exclude only Ls events from it. Of course, users must apply the corresponding GTI filter to it when working with time-resolved spectra.

One thing to consider is the energy filtering. Ideally, the grade-branching ratio should be energy-independent, but this was found not to be the case. Users need to select an appropriate energy range for their spectra. The best way would be to check the energy-dependent grade branching ratio of the analysis data using rslbratio. But if users are not confident in their judgment, we recommend using the energy range 3$-$10 keV, corresponding to 6000$-$20000 channels in PI, for the standard Faint or moderately Bright source analysis, as these sources do not show strong grade branching ratio variation in this energy range (See Section 6.7.1).

The following is the command example.

term> ftcopy infile="xa000126000rsl_p0px1000_cl_addscr.evt[EVENTS]
   [ITYPE<4&&(PI>=6000)&&(PI<=20000)]"
    outfile=xa000126000rsl_p0px1000_wols_cl.evt copyall=yes 
    clobber=yes history=yes

Here, xa000126000rsl_p0px1000_cl_addscr.evt is the cleaned event file applying all screening in Section 6.4, but not the grade selection. The condition, ITYPE$<$4, excludes Ls events, and (PI$>=$6000)&&(PI$<=$20000) includes events only between 3$-$10 keV.


6.7.4.2 Generating an RMF file

Then, we generate a Resolve RMF file using the XRISM FTOOLS, rslmkrmf. Below is a command example.

term> punlearn rslmkrmf
term> rslmkrmf infile=xa000126000rsl_p0px1000_cl2.evt
   outfileroot=N132D_rsl_Hp_L_src regmode=DET whichrmf=L
   resolist=0 regionfile=ALLPIX

The first tool, punlearn, initializes the optional parameters of rslmkrmf. The second tool, rslmkrmf, calculates spectral response at each photon energy using the line spread function (LSF) parameters stored in CALDB. This tool weights the response according to the grades specified in the resolist option and the pixels specified in the regionfile option. Therefore, these values must match the selection criteria of the spectrum file. The infile option feeds the input event file produced in Subsection 6.7.4.1. If the spectrum does not have any region selection, the command options can be regmode=DET and regionfile=ALLPIX as in the example6.5. If the spectrum is extracted from the pixels, the command must specify the pixels either via the region file or via the pixlist parameter with regionfile=None. For example, the command for a spectrum without Pixel 27 is:

term> rslmkrmf infile=xa000126000rsl_p0px1000_cl2.evt
   outfileroot=N132D_rsl_Hp_L_src regmode=DET whichrmf=L
   resolist=0 regionfile=None pixlist=0-11,13-26,28-35

Make sure to connect the pixel number with “-", not “:" as for xselect. As for the resolist option, the above examples assume an Hp-only spectrum. If users make a spectrum from multiple grades, list the grade numbers separated by commas (e.g., resolist=0,1 for Hp+Mp), but note that the instrument team strongly discourages merging spectra with different grades. Please refer to Table 4.1 for the number for each grade type.

A Resolve spectrum has 6$\times$10$^{4}$ PI channels, each channel having a width of 0.5 eV. A complex physical spectral model requires at least the same number of input channels in order to maximize the benefit from the energy resolution and precision of Resolve. With 3.6$\times$10$^{9}$ elements, a response matrix can be as big as $\sim$7 GB, resulting in impractically long computation times. Therefore, the tool is designed to allow the user to produce four types of RMFs, each representing a choice of the level of detailed physics to include, resulting in a different file size. This is achieved with the whichrmf parameter. The file sizes for the different options can differ substantially because RMF files are structured to minimize representation of groups of consecutive zero-valued pixels.

Size Option Model Components
small S Gaussian core
medium M small + exponential tail & Si K$\alpha$ instrumental line
large L medium + escape peak
X-large X large + electron loss continuum (ELC)


The larger RMFs obviously reproduce the spectral response more accurately. For example, the X-large response includes a weak but extended continuum component, which may reproduce the apparent soft-band excess observed with the other responses. However, the larger RMFs require more computation time for spectral fittings, while the improvement is incremental at $\gtrsim$3 keV, where Resolve has a large sensitivity. So users might consider a hybrid approach: using a smaller response for exploratory fitting, and a larger response, possibly in restricted energy bands, for a detailed evaluation.

Since an X-large RMF is extremely large, the tool provides an additional option to split it into two matrices, one for ELC with a coarse grid and one for the other component with a fine grid, with the options splitrmf=yes and splitcomb=yes. These matrices are stored in two extensions of the output RMF file, which Xspec can handle as a regular response file. See Section 5.5 in POG on the different components of the response and the rslmkrmf help file for more details.


6.7.4.3 Generating an ARF file

The XRISM ARF generator (xaarfgen, run standalone or called by rslmkrsp) performs a raytracing simulation to calculate the effective area for a specified source spatial distribution using one of several options. Xaarfgen calls two tasks. The first task, xrtraytrace, generates a pseudo-X-ray photon list that satisfies the source’s spatial distribution in the sky for each set of energy and attitude grids, and then simulates the reflection and transmission of each photon through the mirror to the focal plane. The second task, xaxmaarfgen, then calculates the ratio of photons that successfully reach the focal plane to the original pseudo photons and converts that ratio to the effective area at each energy grid. This calculation is performed on coarse energy grids because each run takes a significant amount of time. The tool compares this result with a pre-calculated raytracing simulation done on a fine energy grid, and outputs the effective areas for the fine Resolve energy grid into the output ARF FITS file.

The derived effective area depends on the source position and distribution. If the simulation assumes a point-like source at the optical axis, the effective area matches the mirror’s effective area in Figure 4.8 of the POG. If the point source is off-axis, the effective area is lower than on-axis, due to vignetting (See Figure 4.9 in the POG) and to photons falling outside of the detector region. It does not drop to zero just outside the FOV, because the PSF tail is still within the FOV. Since an extended source can be considered a combination of multiple point sources, its effective area is smaller than the point source on-axis effective area, depending on the source size and distribution.

If there are multiple point sources that significantly contribute to the spectrum, users should run xaarfgen for each source. If there are extended blobs and/or diffuse emission, users may better run xaarfgen with the IMAGE mode. Some contributions can come from just outside the FOV, so users should check the Xtend data and/or other observatory data for sources that can contribute to the spectrum. We note that i) sources more than a few arcminutes away from the FOV are unlikely to contribute to the spectrum unless they are extremely bright, and ii) a source outside the FOV tends to require many simulation photons, since most pseudo photons do not fall onto the FOV.

Xaarfgen can, in principle, handle any type of X-ray source, but users need to input multiple parameters or data to specify the condition. The following instruction describes procedures of producing ARFs for point and extended sources. We also recommend referring to the instruction slides and videos at the XRISM workshop in 2025.


Point Source

The following command shows an example for a point source (sourcetype=POINT).

term> punlearn xaarfgen
term> xaarfgen xrtevtfile=raytrace_N132D_rsl_pt.fits source_ra=81.2596
   source_dec=-69.6441 telescop=XRISM instrume=RESOLVE
   emapfile=N132D_rsl.expo regmode=DET regionfile=N132D_DET.reg
   sourcetype=POINT rmffile=N132D_rsl_Hp_L_src.rmf 
   erange="1.7 12.0 0 0" outfile=N132D_rsl_Hp_L_ptsrc.arf 
   numphoton=300000 qefile=CALDB contamifile=CALDB gatevalvefile=CALDB 
   onaxisffile=CALDB onaxiscfile=CALDB mirrorfile=CALDB 
   obstructfile=CALDB frontreffile=CALDB backreffile=CALDB 
   pcolreffile=CALDB scatterfile=CALDB imgfile=NONE


Extended Source: IMAGE Mode

An extended source has a spatial extent resolvable with current X-ray telescopes. If it is significantly smaller than the XRISM mirror's PSF, it can be approximated as a point source. However, if it is comparable to or larger than the PSF, its spatial distribution may significantly affect flux estimates, as well as the shape of the effective area curve, particularly given that the Resolve FOV is comparable to the PSF size. Conversely, some spatial structures outside the Resolve FOV may have their PSF wings inside it and are detected with outer pixels. This spatial-spectral mixing (SSM) is more challenging when users study the spatial radial velocity distribution, as described briefly in Subsection 6.7.6.

Xaarfgen provides an option to feed an X-ray image to generate an ARF, accounting for the source’s spatial distribution. We recommend that users use this image mode option (sourcetype=IMAGE), which accounts for the actual spatial structure, rather than one that assumes a flat distribution or a simple analytical spatial shape, to achieve accurate measurements. The following command shows an example with the IMAGE mode.

term> punlearn xaarfgen
term> xaarfgen xrtevtfile=raytrace_N132D_rsl_img.fits source_ra=81.2596
    source_dec=-69.6441 telescop=XRISM instrume=RESOLVE
    emapfile=N132D_rsl.expo regmode=DET regionfile=N132D_DET.reg 
    sourcetype=IMAGE imgfile="/path/to/my_image.img" 
    rmffile=N132D_rsl_Hp_L_src.rmf erange="1.7 12.0 2.0 8.0" 
    outfile=N132D_rsl_Hp_L_img.arf numphoton=600000 
    qefile=CALDB contamifile=CALDB gatevalvefile=CALDB 
    onaxisffile=CALDB onaxiscfile=CALDB mirrorfile=CALDB obstructfile=CALDB
    frontreffile=CALDB backreffile=CALDB pcolreffile=CALDB scatterfile=CALDB

There are a couple of things to keep in mind when specifying the command options in the IMAGE mode.

Users should carefully adjust the input image size, or they may encounter problems during runs or with the products. The following bullets list some tips.


Extended Source: Alternative Methods

Xaarfgen provides two additional methods for describing the spatial distribution of the extended sources: FLATCIRCLE and BETAMODEL.

The source type, FLATCIRCLE, assumes uniform flux over a circular region and zero flux outside of this circle. The relevant parameters are the circle center (source_ra, source_dec) and the circle radius (flatradius, 10 arcmin by default). This circle constitutes the calculated effective area, and so the flux derived with xspec. The flux at a unit area is derived by dividing the flux measured with xspec by ${\pi}(\textit{flatradius})^{2}$. The following is a command example.

term> punlearn xaarfgen
term> xaarfgen xrtevtfile=raytrace_N132D_rsl_flatcircle.fits source_ra=81.2596 
    source_dec=-69.6441 telescop=XRISM instrume=RESOLVE
    emapfile=N132D_rsl.expo regmode=DET regionfile=N132D_DETx.reg
    sourcetype=FLATCIRCLE flatradius=10.0 
    rmffile=N132D_rsl_Hp_L_src.rmf erange="1.7 12.0 0 0"
    outfile=N132D_rsl_Hp_L_flatcircle.arf numphoton=600000
    qefile=CALDB contamifile=CALDB gatevalvefile=CALDB
    onaxisffile=CALDB onaxiscfile=CALDB mirrorfile=CALDB obstructfile=CALDB 
    frontreffile=CALDB backreffile=CALDB pcolreffile=CALDB scatterfile=CALDB 
    imgfile=NONE

The source type, BETAMODEL, assumes a spatial distribution of the beta-model, $N(r) = C [1 + (r/r_c)^2]^{1.5-3\beta}$. The betapars option specifies the parameters $r_c$ (core radius [arcmin]), $\beta$ (index beta), and the maximum radius [arcmin], in this order (0.5$'$, 0.60, and 5$'$ by default). The area surrounded by the maximum radius constitutes the calculated effective area, and the flux derived with xspec. The following is a command example.

term> punlearn xaarfgen
term> xaarfgen xrtevtfile=raytrace_N132D_rsl_beta.fits source_ra=81.2596 
    source_dec=-69.6441 telescop=XRISM instrume=RESOLVE
    emapfile=N132D_rsl.expo regmode=DET regionfile=N132D_DET.reg
    sourcetype=BETAMODEL betapars="0.50 0.60 5.0" 
    rmffile=N132D_rsl_Hp_L_src.rmf erange="1.7 12.0 0 0"
    outfile=N132D_rsl_Hp_L_beta.arf numphoton=600000
    qefile=CALDB contamifile=CALDB gatevalvefile=CALDB
    onaxisffile=CALDB onaxiscfile=CALDB mirrorfile=CALDB obstructfile=CALDB 
    frontreffile=CALDB backreffile=CALDB pcolreffile=CALDB scatterfile=CALDB
    imgfile=NONE

Both models are calculated for all of the energies specified by the first two numbers in the erange parameter, and the latter two parameters in erange are ignored, so they can be set to zero.


6.7.5 Creating an RSP Response File with Rslmkrsp

The above methodology, which separately calculates the detector and mirror responses, assumes that each Resolve pixel is assigned an effective area-versus-energy function that directly corresponds to the ray-tracing simulations, without accounting for changes in the grade branching ratios with count rate. In other words, if we want an ARF for an Hp spectrum, we must also account for the fact that the fraction of all events that are Hp is different for different pixels because of the large dynamic range of the PSF. Thus, the method of generating separate RMFs and ARFs is valid only if the branching ratios are the same across all pixels, which is true only for weak sources. The tool rslmkrsp overcomes this limitation by using the actual event file from an observation to calculate the correct energy-dependent effective area functions for every pixel, accounting for variations in branching ratios across the array (which effectively distort the PSF for grade-selected spectra). As such, this tool works for all sources, including Faint sources, although the benefit is minor for the latter.

The tool calls rslmkrmf and xaarfgen inside. Therefore, the command options are mostly a combination of these tools' options. Read the explanations in the previous subsections 6.7.4.2 and 6.7.4.3. The tool also feeds an event file for measuring the grade branching ratio of the selected grade, but it offers options to exclude Ls events and limit the assessment energy range (see below), so users do not need an additional event screening, as introduced in Subsection 6.7.4.1. The following is an example command.

term> punlearn rslmkrsp
term> rslmkrsp inevtfile=xa201107010rsl_p0px1000_cl2.evt
xrtevtfile=rayt_wr140_rsl_ptsrc.fits source_ra=305.116566
source_dec=43.854524 emapfile=wr140_rsl.expo regionfile=rsl_det_wo27.reg
sourcetype=POINT erange="1.5 18.0 0 0" numphoton=600000 minphoton=100
outfileroot=wr140_obs1_60k_Hp_L whichrmf=L resolist="0" splitrmf=no 
splitcomb=no includels=no gfelo=3.0 gfehi=10.0 mode=h clobber=yes seed=7 
imgfile=NONE


6.7.6 Analyzing Spatial-Spectral Mixing Datasets

Extended sources or crowded regions may exhibit spatial spectral variations within the Resolve FOV. Since the XRISM mirror PSF is comparable to the FOV, emission from each pixel location, or even from outside the FOV, spreads over multiple Resolve pixels, a phenomenon called spatial-spectral mixing (SSM). However, it has a sharp peak near the PSF core, so that sub-array spectra can still show important spatial spectral variations. Such sub-PSF-scale analyses are not new, but the Resolve data with excellent energy resolution for extended sources take the science to another level in spatial radial-velocity or plasma diagnostics studies.

A robust PSF spreading evaluation for each emission component is crucial for rigorous scientific arguments. A method is established that computes a spectral ARF for each component in each sub-array region and simultaneously fits all sub-array spectra. The procedure is complex, so this document, at least in this version, does not introduce the procedure. Those interested in the analysis can find an in-depth document in Sections 7 and 9 of the POG, and instruction in the presentation materials of the XRISM workshop 2025. Furthermore, a guide focused on extended source analysis will be made available through the Analysis Guides section of the XRISM Data Analysis page.


6.8 Generating Non X-ray Background Spectra

With a small field of view, Resolve cannot provide background data from the same observation. To overcome this problem, the instrument team has been accumulating night Earth observation data and releasing them in a public archive. Users can collect night Earth data near the observation and estimate the background spectrum during the observation by adjusting the cut-off rigidity distribution using the XRISM tool rslnxbgen. The tool is under development, but a provisional version with usage instructions is available at the following link.

https://heasarc.gsfc.nasa.gov/docs/xrism/analysis/nxb/index.html

This page provides a series of UNIX terminal command examples for screening both source and NXB datasets. Users can change the screening criteria, but they should use the same criteria for both datasets, except for the observatory’s Earth elevation (ELV). The ELV value must be negative for the night Earth data screening, as the observatory aims below Earth’s rim during the NXB observations. Note that the example uses a terminal command also to screen out pixel-to-pixel coincident events, select Hp events (ITYPE==0), and remove pixel 27 (PIXEL != 27) (see Section 6.4.2). Users should ensure that the background spectrum has the same BACKSCAL keyword value as the source spectrum.

The NXB spectra have multiple emission lines and a continuum structure beyond the X-ray-sensitive energy range (see POG Fig. 6.4). The NXB data do not include sky background such as cosmic X-ray background, local hot bubble, or solar wind charge-exchange emission, so users need to evaluate their contributions to the data.


6.9 DET Pixel Region

Below are the pixel positions in the DET coordinates. Copy those selected pixels into a region file and feed it into xaarfgen through the regionfile option (see Section 6.7.4.3).

box(4,3,1,1,0)  # pixel 0
box(6,3,1,1,0)  # pixel 1
box(5,3,1,1,0)  # pixel 2
box(6,2,1,1,0)  # pixel 3
box(5,2,1,1,0)  # pixel 4
box(6,1,1,1,0)  # pixel 5
box(5,1,1,1,0)  # pixel 6
box(4,2,1,1,0)  # pixel 7
box(4,1,1,1,0)  # pixel 8
box(1,3,1,1,0)  # pixel 9
box(2,3,1,1,0)  # pixel 10
box(1,2,1,1,0)  # pixel 11
box(2,2,1,1,0)  # pixel 13
box(2,1,1,1,0)  # pixel 14
box(3,2,1,1,0)  # pixel 15
box(3,1,1,1,0)  # pixel 16
box(3,3,1,1,0)  # pixel 17
box(3,4,1,1,0)  # pixel 18
box(1,4,1,1,0)  # pixel 19
box(2,4,1,1,0)  # pixel 20
box(1,5,1,1,0)  # pixel 21
box(2,5,1,1,0)  # pixel 22
box(1,6,1,1,0)  # pixel 23
box(2,6,1,1,0)  # pixel 24
box(3,5,1,1,0)  # pixel 25
box(3,6,1,1,0)  # pixel 26
box(6,4,1,1,0)  # pixel 27
box(5,4,1,1,0)  # pixel 28
box(6,5,1,1,0)  # pixel 29
box(6,6,1,1,0)  # pixel 30
box(5,5,1,1,0)  # pixel 31
box(5,6,1,1,0)  # pixel 32
box(4,5,1,1,0)  # pixel 33
box(4,6,1,1,0)  # pixel 34
box(4,4,1,1,0)  # pixel 35