Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

User Story #4649 (closed)

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

python omero.gateway better support for SPW

Reported by: cneves Owned by: cneves
Priority: critical Milestone: OMERO-Beta4.3.2
Component: Web Keywords: n.a.
Cc: python-team@… Story Points: n.a.
Sprint: n.a. Importance: n.a.
Total Remaining Time: n.a. Estimated Remaining Time: n.a.

Description

omeroweb.webclient has much of the SPW logic implemented directly on the django controller classes, but this functionality is needed outside of that.

This story tracks the effort to move that logic into omero.gateway, making it somewhat more consistent with the object model used there.

Change History (17)

comment:1 Changed 13 years ago by Carlos Neves <carlos@…>

(In [0677bf1d8e4e6392ed46108cf87c245368db26fd/ome.git] on branch dev_4_1_custom) python omero.gateway Playing nicer with SPW (see #4649)

PlateWrapper?.listChildren() fetches wells
WellWrapper?.listChildren() fetches wellsamples
PlateWrapper? new shortcut methods:

  • getGridSize(): calculates the plate row and column count
  • getWellGrid(): returns the child wells as an array of [row][column] WellWrapper?
  • getNumberOfFields: iterates all wells and returns highest count of wellsamples

WellWrapper? new shortcut methods:

  • getWellSample (index=None): get wellsample at index, or default if none given
  • getImage (index=None): getWellSample(index).getImage()

comment:2 Changed 13 years ago by Carlos Neves <carlos@…>

(In [6f02e2e1c641c88671fec6166b24c90533e57e66/ome.git] on branch dev_4_1_custom) Adding basic plate grid view javascript that uses new plateGrid_json view for data (see #4649)

comment:3 Changed 13 years ago by Carlos Neves <carlos@…>

(In [d6d8490f4685a39f72299c881bf3f09fa4df8eba/ome.git] on branch dev_4_1_custom) Adding call to list plate column and row labels (see #4649).

Also adding support to refresh the known wrappers dictionary, to be called after extending classes change the omero.gateway wrapper classes.

comment:4 Changed 13 years ago by Carlos Neves <carlos@…>

(In [ccc9de7d9bc160f081a7dcd40cf1eb679d793651/ome.git] on branch dev_4_1_custom) Allow for setting grid size constraints on the plate wrapper (see #4649).

The way the constraint works is by calling setGridSizeConstraints(rows, cols), where rows and cols are the minimum plate size, and empty wells will be returned in getWellGrid to pad as needed. Also the getGridSize call will return the constraint value.
If the number of rows or cols is larger than the constraint, the latter is doubled sequentially until a larger or equal size is found.
For example, a 96 well plate will be 8x12, if we have a plate with 9x12 the next size will be (8x2)x(12*2) <=> 16x24 == 384 wells. Next up is 32x48 == 1536 wells and so on.

comment:5 Changed 13 years ago by Carlos Neves <carlos@…>

(In [e6f4bf13038337aa8c8993eb422b7c66690bda58/ome.git] on branch dev_4_1_custom) Prettier loading of well grids on the weblitz-plateview.js plugin and the json call now sets grid constraints to 8,12 (see #4649)

comment:6 Changed 13 years ago by Carlos Neves <carlos@…>

(In [2080ca02f49cf093408365a5fa7358fa4f861892/ome.git] on branch dev_4_1_custom) weblitz-plateviewer now allows specifying plate field (see #4649)

comment:7 Changed 13 years ago by Carlos Neves <carlos@…>

(In [72a7372b7d1b5c9fc5443968d56708c0f6a2ec38/ome.git] on branch dev_4_1_custom) Adding gateway.getWell and implementing loadedHotSwap for WellWrapper? (see #4649)

comment:8 Changed 13 years ago by Carlos Neves <carlos@…>

(In [bd0af69157b09c13802db04874120292e4c3ee32/ome.git] on branch dev_4_1_custom) webgateway improve well support (see #4649)

comment:9 Changed 13 years ago by cxallan

  • Cc python-team@… added; atarkowska wmoore removed
  • Milestone changed from Unscheduled to OMERO-Beta4.3.2
  • Resolution set to duplicate
  • Status changed from new to closed

Closing in favour of #6416.

comment:10 Changed 13 years ago by Carlos Neves <carlos@…>

(In [697ea359b4058edf60c65a103fbb825b83a92199/ome.git]on branches develop, develop-spwmerge) python omero.gateway Playing nicer with SPW (see #4649)

PlateWrapper?.listChildren() fetches wells
WellWrapper?.listChildren() fetches wellsamples
PlateWrapper? new shortcut methods:

  • getGridSize(): calculates the plate row and column count
  • getWellGrid(): returns the child wells as an array of [row][column] WellWrapper?
  • getNumberOfFields: iterates all wells and returns highest count of wellsamples

WellWrapper? new shortcut methods:

  • getWellSample (index=None): get wellsample at index, or default if none given
  • getImage (index=None): getWellSample(index).getImage()

Conflicts:

components/tools/OmeroPy/src/omero/gateway/init.py

comment:11 Changed 13 years ago by Carlos Neves <carlos@…>

(In [4eabe6a6ec69d647772df2b6a3ab30ec3ff46c15/ome.git]on branches develop, develop-spwmerge) Adding call to list plate column and row labels (see #4649).

Also adding support to refresh the known wrappers dictionary, to be called after extending classes change the omero.gateway wrapper classes.

Conflicts:

components/tools/OmeroPy/src/omero/gateway/init.py

comment:12 Changed 13 years ago by Carlos Neves <carlos@…>

(In [e3df663671069cd40985ff82b32b0ee3a70b7fdf/ome.git]on branches develop, develop-spwmerge) Allow for setting grid size constraints on the plate wrapper (see #4649).

The way the constraint works is by calling setGridSizeConstraints(rows, cols), where rows and cols are the minimum plate size, and empty wells will be returned in getWellGrid to pad as needed. Also the getGridSize call will return the constraint value.
If the number of rows or cols is larger than the constraint, the latter is doubled sequentially until a larger or equal size is found.
For example, a 96 well plate will be 8x12, if we have a plate with 9x12 the next size will be (8x2)x(12*2) <=> 16x24 == 384 wells. Next up is 32x48 == 1536 wells and so on.

Conflicts:

components/tools/OmeroPy/src/omero/gateway/init.py

comment:13 Changed 13 years ago by Chris Allan <callan@…>

(In [12e851f602984e797225310c8ac434c47033eea2/ome.git] on branch develop) Adding gateway.getWell and implementing loadedHotSwap for WellWrapper? (see #4649)

Conflicts:

components/tools/OmeroPy/src/omero/gateway/init.py

comment:14 Changed 13 years ago by Chris Allan <callan@…>

(In [1a6393e1aaac5d963c89390e282ade376ee16fe9/ome.git] on branch develop) Adding basic plate grid view javascript that uses new plateGrid_json view for data (see #4649)

comment:15 Changed 13 years ago by Chris Allan <callan@…>

(In [1e264f10508ec7d47c41e43e076b2f5b798df1fd/ome.git] on branch develop) Prettier loading of well grids on the weblitz-plateview.js plugin and the json call now sets grid constraints to 8,12 (see #4649)

comment:16 Changed 13 years ago by Chris Allan <callan@…>

(In [0f4c28ca1aa471829acfaa9aaa79acc200bf7932/ome.git] on branch develop) weblitz-plateviewer now allows specifying plate field (see #4649)

comment:17 Changed 13 years ago by Chris Allan <callan@…>

(In [f088f4575291fc9cfed7144878f9d7dee8c5e4d8/ome.git] on branch develop) webgateway improve well support (see #4649)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.72632 sec.)

We're Hiring!