diff --git a/_sources/usage.rst.txt b/_sources/usage.rst.txt index 2ee172f..20aa2df 100644 --- a/_sources/usage.rst.txt +++ b/_sources/usage.rst.txt @@ -1,5 +1,5 @@ Using affinder ============== -.. include:: ../.napari/DESCRIPTION.md +.. include:: ../README.md :parser: myst_parser.sphinx_ diff --git a/index.html b/index.html index 015d30a..6496148 100644 --- a/index.html +++ b/index.html @@ -204,47 +204,90 @@

Welcome to affinder’s documentation! -

affinder#

-

License -PyPI -Python Version -tests -codecov

-

Quickly find the affine matrix mapping one image to another using manual correspondence points annotation

-
-

Installation#

-

You can install affinder via pip:

-
pip install affinder
-
-
+
+

Description#

+

This GUI plugin allows you to quickly find the affine matrix mapping +one image to another using manual correspondence points annotation.

+

More simply, this plugin allows you to select corresponding points +on an image, and a second image you wish to transform. It computes +the requisite transformation matrix using Affine Transform, Euclidean Transform, +or Similarity Transform, and performs this transformation on the +moving image, aligning it to the reference image.

+
-
-

Documentation#

-

The affinder documentation is available here: https://jni.github.io/affinder/

+
+

Who is This For?#

+

This is a simple plugin which can be used on any 2D images, provided +they can be loaded as layers into napari. The images need not be the same +file format and this plugin also works with labels layers.

+

No prior understanding of the transformation methods is required, as +they perform in the background based on the reference points selected.

-
-

Contributing#

-

Contributions are very welcome. Tests can be run with tox, please ensure -the coverage at least stays the same before you submit a pull request.

+
+

How to Guide#

+

You will need a combination of two or more 2D image and/or labels layers +loaded into napari. Once you have installed affinder, you can find it in +the dock widgets menu.

+

Affinder widget in the Plugins->Add Dock Widget menu

+

The first two dropdown boxes will be populated with the layers currently +loaded into napari. Select a layer to use as reference, and another to +transform.

+

Dropdowns allow you to select the reference and moving layers

+

Next, you can select the transformation model to use (affine is selected by default +and is the least rigid transformation of those available). See below for a +description of the different models.

+

Finally, you can optionally select a path to a text file for saving out the +resulting transformation matrix.

+

When you click Start, affinder will add two points layers to napari. +The plugin will also bring your reference image in focus, and its associated points +layer. You can then start adding reference points by clicking on your image.

+

Adding reference points to layer

+

Once three points are added, affinder will switch focus to the moving image, +and you should then proceed to select the corresponding three points.

+

Adding corresponding points to newly focused layer

+

affinder will immediately transform the moving image to align the points you’ve +selected when you add your third corresponding point to your moving image.

+

The moving image is transformed once three points are added

+

From there, you can continue iteratively adding points until you +are happy with the alignment. Affinder will switch focus between +reference and moving image with each point.

+

Click Finish to exit affinder.

+
+

Transformation Models#

+

There are three transformation models available for use with affinder. +They are listed here in order of increasing rigidity in the types of +transforms they will allow. The eponymous Affine Transform is the +least rigid and is the default choice.

+
    +
  • Affine Transform: +the least rigid transformation, it preserves +lines and parallelism, but not necessarily distance and angles. Translation, +scaling, similarity, reflection, rotation and shearing are all valid +affine transformations.

  • +
  • Similarity Transform: +this is a “shape preserving” transformation, producing objects which are +geometrically similar. Translation, rotation, reflection and uniform scaling are +valid similarity transforms. Shearing is not.

  • +
  • Euclidean Transform: +Also known as a rigid transformation, this transform preserves the Euclidean +distance between each pair of points on the image. This includes rotation, +translation and reflection but not scaling or shearing.

  • +
-
-

License#

-

Distributed under the terms of the BSD-3 license, -“affinder” is free and open source software

-
-

Issues#

-

If you encounter any problems, please file an issue along with a detailed description.

-
-

This napari plugin was generated with Cookiecutter using with @napari’s cookiecutter-napari-plugin template.

-
+
+

Getting Help#

+

If you find a bug with affinder, or would like support with using it, please raise an +issue on the GitHub repository.

+
+
+

How to Cite#

+

Many plugins may be used in the course of published (or publishable) research, as well as +during conference talks and other public facing events. If you’d like to be cited in +a particular format, or have a DOI you’d like used, you should provide that information here.

@@ -304,14 +347,14 @@

Indices and tables
  • Welcome to affinder’s documentation!
      -
    • affinder
    • Indices and tables
    • diff --git a/searchindex.js b/searchindex.js index c513cd8..09caffd 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["index.rst","usage.rst"],objects:{},objnames:{},objtypes:{},terms:{"2d":1,"3":0,"default":1,"final":1,"public":1,"switch":1,For:0,If:[0,1],It:1,No:1,The:[0,1],There:1,ad:1,add:1,affin:[0,1],align:1,all:1,allow:1,along:0,also:1,an:[0,1],angl:1,ani:[0,1],annot:[0,1],anoth:[0,1],ar:[0,1],associ:1,avail:[0,1],background:1,base:1,befor:0,below:1,between:1,box:1,bring:1,browser:1,bsd:0,bug:1,can:[0,1],choic:1,cite:0,click:1,combin:1,comput:1,confer:1,continu:1,cookiecutt:0,correspond:[0,1],cours:1,coverag:0,current:1,d:1,descript:0,detail:0,differ:1,distanc:1,distribut:0,dock:1,doe:1,doi:1,dropdown:1,dure:1,each:1,encount:0,ensur:0,eponym:1,euclidean:1,event:1,exit:1,face:1,file:[0,1],find:[0,1],finish:1,first:1,focu:1,format:1,free:0,from:1,gener:0,geometr:1,get:0,github:[0,1],gui:1,guid:0,happi:1,have:1,help:0,here:[0,1],how:0,http:0,imag:[0,1],immedi:1,includ:1,increas:1,index:0,inform:1,instal:1,io:0,issu:1,iter:1,its:1,jni:0,known:1,label:1,layer:1,least:[0,1],like:1,line:1,list:1,load:1,mai:1,mani:1,manual:[0,1],map:[0,1],matrix:[0,1],menu:1,method:1,modul:0,more:1,move:1,napari:[0,1],necessarili:1,need:1,next:1,object:1,onc:1,one:[0,1],open:0,option:1,order:1,other:1,out:1,page:0,pair:1,parallel:1,particular:1,path:1,perform:1,pip:0,pleas:[0,1],plugin:[0,1],point:[0,1],popul:1,preserv:1,prior:1,problem:0,proce:1,produc:1,provid:1,publish:1,pull:0,quickli:[0,1],rais:1,refer:1,reflect:1,repositori:1,request:0,requir:1,requisit:1,research:1,result:1,rigid:1,rotat:1,run:0,same:[0,1],save:1,scale:1,search:0,second:1,see:1,select:1,shape:1,shear:1,should:1,similar:1,simpl:1,simpli:1,softwar:0,sourc:0,stai:0,start:1,submit:0,support:1,tag:1,talk:1,templat:0,term:0,test:0,text:1,thei:1,thi:0,third:1,those:1,three:1,tox:0,translat:1,two:1,type:1,under:0,understand:1,uniform:1,until:1,us:0,valid:1,ve:1,veri:0,via:0,video:1,wa:0,well:1,when:1,which:1,who:0,widget:1,wish:1,work:1,would:1,you:[0,1],your:1},titles:["Welcome to affinder\u2019s documentation!","Using affinder"],titleterms:{For:1,affind:[0,1],cite:1,contribut:0,descript:1,document:0,get:1,guid:1,help:1,how:1,indic:0,instal:0,issu:0,licens:0,model:1,s:0,tabl:0,thi:1,transform:1,us:1,welcom:0,who:1}}) \ No newline at end of file +Search.setIndex({docnames:["index","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["index.rst","usage.rst"],objects:{},objnames:{},objtypes:{},terms:{"2d":[0,1],"default":[0,1],"final":[0,1],"public":[0,1],"switch":[0,1],If:[0,1],It:[0,1],No:[0,1],The:[0,1],There:[0,1],ad:[0,1],add:[0,1],affin:[0,1],align:[0,1],all:[0,1],allow:[0,1],also:[0,1],an:[0,1],angl:[0,1],ani:[0,1],annot:[0,1],anoth:[0,1],ar:[0,1],associ:[0,1],avail:[0,1],background:[0,1],base:[0,1],below:[0,1],between:[0,1],box:[0,1],bring:[0,1],browser:[0,1],bug:[0,1],can:[0,1],choic:[0,1],click:[0,1],combin:[0,1],comput:[0,1],confer:[0,1],continu:[0,1],correspond:[0,1],cours:[0,1],current:[0,1],d:[0,1],differ:[0,1],distanc:[0,1],dock:[0,1],doe:[0,1],doi:[0,1],dropdown:[0,1],dure:[0,1],each:[0,1],eponym:[0,1],euclidean:[0,1],event:[0,1],exit:[0,1],face:[0,1],file:[0,1],find:[0,1],finish:[0,1],first:[0,1],focu:[0,1],format:[0,1],from:[0,1],geometr:[0,1],github:[0,1],gui:[0,1],happi:[0,1],have:[0,1],here:[0,1],imag:[0,1],immedi:[0,1],includ:[0,1],increas:[0,1],index:0,inform:[0,1],instal:[0,1],issu:[0,1],iter:[0,1],its:[0,1],known:[0,1],label:[0,1],layer:[0,1],least:[0,1],like:[0,1],line:[0,1],list:[0,1],load:[0,1],mai:[0,1],mani:[0,1],manual:[0,1],map:[0,1],matrix:[0,1],menu:[0,1],method:[0,1],modul:0,more:[0,1],move:[0,1],napari:[0,1],necessarili:[0,1],need:[0,1],next:[0,1],object:[0,1],onc:[0,1],one:[0,1],option:[0,1],order:[0,1],other:[0,1],out:[0,1],page:0,pair:[0,1],parallel:[0,1],particular:[0,1],path:[0,1],perform:[0,1],pleas:[0,1],plugin:[0,1],point:[0,1],popul:[0,1],preserv:[0,1],prior:[0,1],proce:[0,1],produc:[0,1],provid:[0,1],publish:[0,1],quickli:[0,1],rais:[0,1],refer:[0,1],reflect:[0,1],repositori:[0,1],requir:[0,1],requisit:[0,1],research:[0,1],result:[0,1],rigid:[0,1],rotat:[0,1],same:[0,1],save:[0,1],scale:[0,1],search:0,second:[0,1],see:[0,1],select:[0,1],shape:[0,1],shear:[0,1],should:[0,1],similar:[0,1],simpl:[0,1],simpli:[0,1],start:[0,1],support:[0,1],tag:[0,1],talk:[0,1],text:[0,1],thei:[0,1],third:[0,1],those:[0,1],three:[0,1],translat:[0,1],two:[0,1],type:[0,1],understand:[0,1],uniform:[0,1],until:[0,1],us:0,valid:[0,1],ve:[0,1],video:[0,1],well:[0,1],when:[0,1],which:[0,1],widget:[0,1],wish:[0,1],work:[0,1],would:[0,1],you:[0,1],your:[0,1]},titles:["Welcome to affinder\u2019s documentation!","Using affinder"],titleterms:{For:[0,1],affind:[0,1],cite:[0,1],descript:[0,1],document:0,get:[0,1],guid:[0,1],help:[0,1],how:[0,1],indic:0,model:[0,1],s:0,tabl:0,thi:[0,1],transform:[0,1],us:1,welcom:0,who:[0,1]}}) \ No newline at end of file