Git Product home page Git Product logo

astra-viso's People

Contributors

bradsease avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

duducosmos

astra-viso's Issues

Add minimum integration step metric to starcam

Starcam should include a user-defined variable that defines the required step size (in pixels) of image-level integration. starcam.integ should enforce this step size on stars and worldobjects.

Create worldobject method to return attitude

As a user, I would like to retrieve attitude at specific times and over time spans from a worldobject. The output format should be a DCM.

worldobject.getpointing(self, t)

This code should integrate an ODE function defined in

worldobject.pointingode

Implement worldobject.set_position_preset

.set_position_preset() should set worldobject.position_fcn according to the built-in preset options by name. For now, the only preset available may be position_preset_kinematic().

Implement worldobject.set_pointing_fcn method

.set_pointing_fcn() should accept a function pointer and a string describing the type of function input. Options should be "ode" for a differential equation, "explicit" for an explicit function of time, and "sampled" for a sampled input vector.

Implement worldobject.get_pointing method

.get_pointing should allow input of a single time or vector of times and return a list of DCMs. Method should integrate worldobject.pointing_fcn if worldobject.pointing_mode is "ode".

Requires #16

Compute inverse polynomial parameters

As a user, I would like the camera object to automatically calculate inverse polynomial parameters for me if necessary. The code should be able to check if the existing forward and inverse parameters are consistent and update if necessary.

starcam.checkpolys()
starcam.updatepolys()

Create starcam.addworldobject() method

.addworldobject(object) should allow the user to add worldobjects to an array of embedded objects. Each worldobject may be set up beforehand. If not set up before, .addworldobject() should create a new empty object.

Implement polynomial camera

As a user, I would like to input polynomial camera parameters in the form of two vectors (u,v) describing an arbitrary-order forward polynomial projection.

starcam.setpoly(self, u, v)

See:
Shupe, David L., et al. "The SIP convention for representing distortion in FITS image headers." Astronomical Data Analysis Software and Systems XIV. Vol. 347. 2005.

Method to divide sphere into equally-spaced vectors

Future optimization code in the starmap object will require a method to derive equally-spaced vectors covering the celestial sphere. The spacing should be given as a user input.

starmap.segmentsphere(self, angle)

Implement worldobject.set_position_fcn

.set_position_fcn should accept a function and an optional string to set the position function and mode. Modes should include "ode" for differential equation inputs, "explicit" for explicit functions of time, and "sampled" for a sampled input vector.

Create function to allow user to input polynomial camera parameters

As a user, I would like to input polynomial camera parameters in the form of two vectors (u,v) describing an arbitrary-order forward polynomial projection. I would also like to be able to input the inverse projection parameters.

starcam.setpoly(self, u, v)
starcam.setinvpoly(self, u, v)

See:
Shupe, David L., et al. "The SIP convention for representing distortion in FITS image headers." Astronomical Data Analysis Software and Systems XIV. Vol. 347. 2005.

Implement worldobject.get_position

.get_position() should accept a single time or vector of times and return a list of position vectors. Method should integrate worldobject.position_fcn if worldobject.position_mode is "ode".

Implement STK ephemeris loading for worldobject

As a user, I would like to be able to import STK ephemerides to more easily model space objects.

starcam.loadephem

The ephemeris must list time in seconds from epoch and that epoch must match t = 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.