Skip to main content

FitsSlice

Struct FitsSlice 

Source
pub struct FitsSlice { /* private fields */ }
Expand description

A FITS file read from a buffer rather than from the filesystem.

This is the reader to use where there is no filesystem to read from — a file already in memory, one arriving over a network, or a build with the fs feature turned off.

Implementations§

Source§

impl FitsSlice

Source

pub fn from_slice(data: &[u8]) -> Result<Self, Box<dyn Error + Send + Sync>>

Reads a FITS file out of data.

The buffer is copied once, because the HDUs read from it for as long as they live and cannot borrow from the caller’s slice. Use FitsSlice::from_vec to hand over a buffer instead of copying one.

Source

pub fn from_vec(data: Vec<u8>) -> Result<Self, Box<dyn Error + Send + Sync>>

Reads a FITS file out of data, taking ownership of the buffer.

A buffer that holds gzip-compressed data is decompressed first. A FITS file starts with SIMPLE, so it can never be mistaken for one that starts with the gzip marker.

Source

pub async fn from_vec_async( data: Vec<u8>, ) -> Result<Self, Box<dyn Error + Send + Sync>>

Available on crate feature tokio only.

Reads a FITS file out of data without blocking the async runtime.

Parsing a large buffer is real work even though it touches no filesystem, so it runs on a blocking worker, as FsFits::open_async does.

Source

pub fn new() -> Self

An empty FITS file, for building one from nothing.

Trait Implementations§

Source§

impl Clone for FitsSlice

Source§

fn clone(&self) -> FitsSlice

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FitsSlice

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FitsSlice

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Fits for FitsSlice

Source§

type ImageHDU = SliceImageHDU

The kind of image HDU this reader produces.
Source§

type BinTableHDU = SliceBinTableHDU

The kind of binary table HDU this reader produces.
Source§

type AsciiTableHDU = SliceAsciiTableHDU

The kind of ASCII table HDU this reader produces.
Source§

fn primary_hdu(&self) -> &Self::ImageHDU

The primary HDU, which every FITS file has.
Source§

fn primary_hdu_mut(&mut self) -> &mut Self::ImageHDU

The primary HDU, to be changed.
Source§

fn extension_count(&self) -> usize

How many extensions follow the primary HDU.
Source§

fn extension_hdu(&self, index: usize) -> Option<&ExtensionHDU<Self>>

The extension at index, or None if there is none.
Source§

fn extension_hdu_mut(&mut self, index: usize) -> Option<&mut ExtensionHDU<Self>>

The extension at index, to be changed.
Source§

fn extension_hdus(&self) -> impl Iterator<Item = &ExtensionHDU<Self>>

Every extension, in the order they appear in the file.
Source§

fn extension_hdus_mut( &mut self, ) -> impl Iterator<Item = &mut ExtensionHDU<Self>>

Every extension, to be changed.
Source§

fn push_extension(&mut self, extension: ExtensionHDU<Self>)

Appends an extension after the ones already here.
Source§

fn remove_extension(&mut self, index: usize) -> Option<ExtensionHDU<Self>>

Removes the extension at index, or returns None if there is none.
Source§

fn to_vec(&self) -> Result<Vec<u8>, Box<dyn Error + Send + Sync>>

Serialises this FITS file back into its on-disk byte representation. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.