288 lines
10 KiB
Plaintext
288 lines
10 KiB
Plaintext
---
|
||
title: Acquire
|
||
description: API reference for qiskit.pulse.instructions.Acquire
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.pulse.instructions.Acquire
|
||
---
|
||
|
||
# Acquire
|
||
|
||
<Class id="qiskit.pulse.instructions.Acquire" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.24/qiskit/pulse/instructions/acquire.py" signature="Acquire(duration, channel, mem_slot=None, reg_slot=None, kernel=None, discriminator=None, name=None)" modifiers="class">
|
||
Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction")
|
||
|
||
The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. instantiated with AcquireChannel(0), the Acquire command will trigger data collection for the channel associated with qubit 0 readout. This instruction also provides acquisition metadata:
|
||
|
||
> * the number of cycles during which to acquire (in terms of dt),
|
||
> * the register slot to store classified, intermediary readout results,
|
||
> * the memory slot to return classified results,
|
||
> * the kernel to integrate raw data for each shot, and
|
||
> * the discriminator to classify kerneled IQ points.
|
||
|
||
Create a new Acquire instruction.
|
||
|
||
**Parameters**
|
||
|
||
* **duration** (*int |* [*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – Length of time to acquire data in terms of dt.
|
||
* **channel** ([*AcquireChannel*](qiskit.pulse.channels.AcquireChannel "qiskit.pulse.channels.AcquireChannel")) – The channel that will acquire data.
|
||
* **mem\_slot** ([*MemorySlot*](qiskit.pulse.channels.MemorySlot "qiskit.pulse.channels.MemorySlot") *| None*) – The classical memory slot in which to store the classified readout result.
|
||
* **reg\_slot** ([*RegisterSlot*](qiskit.pulse.channels.RegisterSlot "qiskit.pulse.channels.RegisterSlot") *| None*) – The fast-access register slot in which to store the classified readout result for fast feedback.
|
||
* **kernel** (*Kernel | None*) – A `Kernel` for integrating raw data.
|
||
* **discriminator** (*Discriminator | None*) – A `Discriminator` for discriminating kerneled IQ data into 0/1 results.
|
||
* **name** (*str | None*) – Name of the instruction for display purposes.
|
||
|
||
## Methods
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-append" />
|
||
|
||
### append
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.append" signature="Acquire.append(schedule, name=None)">
|
||
Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`.
|
||
|
||
**Parameters**
|
||
|
||
* **schedule** (*Union\['Schedule', 'Instruction']*) – Schedule or instruction to be appended
|
||
* **name** (*str | None*) – Name of the new schedule. Defaults to name of self
|
||
|
||
**Returns**
|
||
|
||
A new schedule with `schedule` a this instruction at t=0.
|
||
|
||
**Return type**
|
||
|
||
[Schedule](qiskit.pulse.Schedule "qiskit.pulse.Schedule")
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-ch-duration" />
|
||
|
||
### ch\_duration
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.ch_duration" signature="Acquire.ch_duration(*channels)">
|
||
Return duration of the supplied channels in this Instruction.
|
||
|
||
**Parameters**
|
||
|
||
**\*channels** (*List\[*[*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")*]*) – Supplied channels
|
||
|
||
**Return type**
|
||
|
||
int
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-ch-start-time" />
|
||
|
||
### ch\_start\_time
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.ch_start_time" signature="Acquire.ch_start_time(*channels)">
|
||
Return minimum start time for supplied channels.
|
||
|
||
**Parameters**
|
||
|
||
**\*channels** (*List\[*[*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")*]*) – Supplied channels
|
||
|
||
**Return type**
|
||
|
||
int
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-ch-stop-time" />
|
||
|
||
### ch\_stop\_time
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.ch_stop_time" signature="Acquire.ch_stop_time(*channels)">
|
||
Return maximum start time for supplied channels.
|
||
|
||
**Parameters**
|
||
|
||
**\*channels** (*List\[*[*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")*]*) – Supplied channels
|
||
|
||
**Return type**
|
||
|
||
int
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-draw" />
|
||
|
||
### draw
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.draw" signature="Acquire.draw(dt=1, style=None, filename=None, interp_method=None, scale=1, plot_all=False, plot_range=None, interactive=False, table=True, label=False, framechange=True, channels=None)">
|
||
Plot the instruction.
|
||
|
||
<Admonition title="Deprecated since version 0.23.0" type="danger">
|
||
The method `qiskit.pulse.instructions.instruction.Instruction.draw()` is deprecated as of qiskit-terra 0.23.0. It will be removed no earlier than 3 months after the release date. No direct alternative is being provided to drawing individual pulses. But, instructions can be visualized as part of a complete schedule using `qiskit.visualization.pulse_drawer`.
|
||
</Admonition>
|
||
|
||
**Parameters**
|
||
|
||
* **dt** (*float*) – Time interval of samples
|
||
* **style** (*Optional\[SchedStyle]*) – A style sheet to configure plot appearance
|
||
* **filename** (*str | None*) – Name required to save pulse image
|
||
* **interp\_method** (*Callable | None*) – A function for interpolation
|
||
* **scale** (*float*) – Relative visual scaling of waveform amplitudes
|
||
* **plot\_all** (*bool*) – Plot empty channels
|
||
* **plot\_range** (*Tuple\[float] | None*) – A tuple of time range to plot
|
||
* **interactive** (*bool*) – When set true show the circuit in a new window (this depends on the matplotlib backend being used supporting this)
|
||
* **table** (*bool*) – Draw event table for supported instructions
|
||
* **label** (*bool*) – Label individual instructions
|
||
* **framechange** (*bool*) – Add framechange indicators
|
||
* **channels** (*List\[*[*Channel*](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel")*] | None*) – A list of channel names to plot
|
||
|
||
**Returns**
|
||
|
||
A matplotlib figure object of the pulse schedule
|
||
|
||
**Return type**
|
||
|
||
matplotlib.figure
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-insert" />
|
||
|
||
### insert
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.insert" signature="Acquire.insert(start_time, schedule, name=None)">
|
||
Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`.
|
||
|
||
**Parameters**
|
||
|
||
* **start\_time** (*int*) – Time to insert the schedule schedule
|
||
* **schedule** (*Union\['Schedule', 'Instruction']*) – Schedule or instruction to insert
|
||
* **name** (*str | None*) – Name of the new schedule. Defaults to name of self
|
||
|
||
**Returns**
|
||
|
||
A new schedule with `schedule` inserted with this instruction at t=0.
|
||
|
||
**Return type**
|
||
|
||
[Schedule](qiskit.pulse.Schedule "qiskit.pulse.Schedule")
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-is-parameterized" />
|
||
|
||
### is\_parameterized
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.is_parameterized" signature="Acquire.is_parameterized()">
|
||
Return True iff the instruction is parameterized.
|
||
|
||
**Return type**
|
||
|
||
bool
|
||
</Function>
|
||
|
||
<span id="qiskit-pulse-instructions-acquire-shift" />
|
||
|
||
### shift
|
||
|
||
<Function id="qiskit.pulse.instructions.Acquire.shift" signature="Acquire.shift(time, name=None)">
|
||
Return a new schedule shifted forward by time.
|
||
|
||
**Parameters**
|
||
|
||
* **time** (*int*) – Time to shift by
|
||
* **name** (*str | None*) – Name of the new schedule. Defaults to name of self
|
||
|
||
**Returns**
|
||
|
||
The shifted schedule.
|
||
|
||
**Return type**
|
||
|
||
[Schedule](qiskit.pulse.Schedule "qiskit.pulse.Schedule")
|
||
</Function>
|
||
|
||
## Attributes
|
||
|
||
### acquire
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.acquire">
|
||
Acquire channel to acquire data. The `AcquireChannel` index maps trivially to qubit index.
|
||
</Attribute>
|
||
|
||
### channel
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.channel">
|
||
Return the [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel") that this instruction is scheduled on.
|
||
</Attribute>
|
||
|
||
### channels
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.channels">
|
||
Returns the channels that this schedule uses.
|
||
</Attribute>
|
||
|
||
### discriminator
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.discriminator">
|
||
Return discrimination settings.
|
||
</Attribute>
|
||
|
||
### duration
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.duration">
|
||
Duration of this instruction.
|
||
</Attribute>
|
||
|
||
### id
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.id">
|
||
Unique identifier for this instruction.
|
||
</Attribute>
|
||
|
||
### instructions
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.instructions">
|
||
Iterable for getting instructions from Schedule tree.
|
||
</Attribute>
|
||
|
||
### kernel
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.kernel">
|
||
Return kernel settings.
|
||
</Attribute>
|
||
|
||
### mem\_slot
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.mem_slot">
|
||
The classical memory slot which will store the classified readout result.
|
||
</Attribute>
|
||
|
||
### name
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.name">
|
||
Name of this instruction.
|
||
</Attribute>
|
||
|
||
### operands
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.operands">
|
||
Return instruction operands.
|
||
</Attribute>
|
||
|
||
### parameters
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.parameters">
|
||
Parameters which determine the instruction behavior.
|
||
</Attribute>
|
||
|
||
### reg\_slot
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.reg_slot">
|
||
The fast-access register slot which will store the classified readout result for fast-feedback computation.
|
||
</Attribute>
|
||
|
||
### start\_time
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.start_time">
|
||
Relative begin time of this instruction.
|
||
</Attribute>
|
||
|
||
### stop\_time
|
||
|
||
<Attribute id="qiskit.pulse.instructions.Acquire.stop_time">
|
||
Relative end time of this instruction.
|
||
</Attribute>
|
||
</Class>
|
||
|