API
MRCFile.MRCData
— TypeMRCData{T<:Number,N,EH<:MRCExtendedHeader,D<:AbstractArray{T,N}} <: AbstractArray{T,N}
Container for electron density data loaded from an MRC file.
Each instance of MRCData
carries with it a header and extended header, respectively accessed with header
and extendedheader
.
If changes are made to the header, extended header, or the data, call updateheader!
before writing to file to ensure the header is stil consistent with the data.
MRCData()
Create an empty array.
MRCData(header[, extendedheader])
Create an array whose size is indicated by the entries in header
.
MRCData(size)
MRCData(size...)
Create an array of the specified size.
MRCFile.MRCExtendedHeader
— TypeMRCExtendedHeader{T}
Extended header of an MRC file.
MRCExtendedHeader(data)
Store data
in an extended header. data
must be directly writeable to a file with write(::IO, data)
.
MRCExtendedHeader()
Create an extended header whose data is an empty Vector{UInt8}
.
MRCFile.MRCHeader
— TypeMRCHeader
An MRC header.
MRCHeader()
MRCHeader(; kwargs...)
Construct a header with suitable defaults, optionally substituting any provided entries.
See the MRC2014 format spec for a description of the header fields.
MRCFile.cellangles!
— Methodcellangles!(h::MRCHeader, (α, β, γ))
Set cell angles in degrees.
MRCFile.cellangles
— Methodcellangles(h::MRCHeader) -> (α, β, γ)
Get cell angles in degrees.
MRCFile.cellsize!
— Methodcellsize!(h::MRCHeader, (x, y, z))
Set cell dimensions in angstroms.
MRCFile.cellsize
— Methodcellsize(h::MRCHeader) -> (x, y, z)
Get cell dimensions in angstroms.
MRCFile.eachmapcol
— Methodeachmapcol(d::MRCData)
Return an iterator over columns.
MRCFile.eachmaprow
— Methodeachmaprow(d::MRCData)
Return an iterator over map rows.
MRCFile.eachmapsection
— Methodeachmapsection(d::MRCData)
Return an iterator over sections.
MRCFile.eachstackunit
— Methodeachstackunit(d::MRCData)
Return an iterator over elements of stacks.
MRCFile.extendedheader
— Methodextendedheader(data::MRCData) -> MRCExtendedHeader
Get extended header.
MRCFile.gridsize!
— Methodgridsize!(h::MRCHeader, (x, y, z))
Set size of sampling grid in angstroms.
MRCFile.gridsize
— Methodgridsize(h::MRCHeader) -> (x, y, z)
Get size of sampling grid in angstroms.
MRCFile.header
— Methodheader(data::MRCData) -> MRCHeader
Get header.
MRCFile.origin!
— Methodorigin!(h::MRCHeader, (x, y, z))
Set phase origin in pixels or origin of subvolume in angstroms.
MRCFile.origin
— Methodorigin(h::MRCHeader) -> (x, y, z)
Get phase origin in pixels or origin of subvolume in angstroms.
MRCFile.read_mmap
— Methodread_mmap(io::IO, ::Type{MRCData})
read_mmap(path::AbstractString, ::Type{MRCData})
Read MRC file or stream, using a memory-mapped array to access the data.
MRCFile.start!
— Methodstart!(h::MRCHeader, (nx, ny, nz))
Set location of first column, first row, and first section in unit cell.
MRCFile.start
— Methodstart(h::MRCHeader) -> (nx, ny, nz)
Get location of first column, first row, and first section in unit cell.
MRCFile.updateheader!
— Methodupdateheader!(data::MRCData; statistics = true)
Update the header stored in data
from the data and its extended header. Set statistics=false
to avoid computing summary statistics from the data.
MRCFile.voxelaxes
— Methodvoxelaxes(h::MRCHeader, i) -> StepRangeLen
voxelaxes(h::MRCHeader) -> NTuple{3,StepRangeLen}
Get range of voxel positions along axis i
or all axes.
MRCFile.voxelsize!
— Methodvoxelsize!(h::MRCHeader, s, i)
voxelsize!(h::MRCHeaders, (x, y, z))
Set size of dimension i
of voxel in angstroms.
MRCFile.voxelsize
— Methodvoxelsize(h::MRCHeader, i)
voxelsize(h::MRCHeader)
Get size of dimension i
of voxel in angstroms.